webForumDet fria alternativet

DateTime adderings problem

1 svar · 335 visningar · startad av mo:d:fi

mo:d:fiMedlem sedan jan. 200475 inlägg
#1

Hej!

Många gånger har jag blivit frustrerad över detta som egentligen skall vara så enkelt men jag får det aldrig att fungera. Mina problem rotar sig i att jag ofta behöver lägga till ett visst antal dagar på en DateTime variabel men hur jag än gör så blir det samma datum som det var ursprungligen.
Ta t.ex. förljande kod:

DateTime dt = new DateTime(startDateCalendar.SelectedDate.Year, startDateCalendar.SelectedDate.Month, startDateCalendar.SelectedDate.Day, int.Parse(startHourDrop.SelectedValue), int.Parse(startMinDrop.SelectedValue), 0);
DateTime dt2 = new DateTime(startDateCalendar.SelectedDate.Year, startDateCalendar.SelectedDate.Month, startDateCalendar.SelectedDate.Day, int.Parse(endHourDrop.SelectedValue), int.Parse(endMinDrop.SelectedValue), 0);
if (repeatCheckBox.Checked && weeksTextBox.Text.Length != 0)
        {
            TimeSpan ts = new TimeSpan(7, 0, 0, 0);
            Response.Write("Dagar: " + ts.Days); //Detta skriver ut 7 dagar som är riktigt!
            for (int i = 1; i < int.Parse(weeksTextBox.Text); i++)
            {
                dt.Add(ts);
                dt2.Add(ts);
                Response.Write("Start: " + dt.ToShortDateString() + ", " + dt.ToShortTimeString() + "; Slut: " + dt2.ToShortDateString() + ", " + dt2.ToShortTimeString());
            }
        }

Denna kod skriver bara ut samma datum om och om igen, tanken är att datumet skall öka med en vecka för varje loopning.
Har även provat att köra:

dt.AddDays(7);
dt2.AddDays(7);

Men det ger samma bittra resultat.
Någon enkel idé på vad för uppenbart jag missar?

mo:d:fiMedlem sedan jan. 200475 inlägg
#2

Hej!

Lyckades lösa problemet till slut. tydligen så fungerar inte C# riktigt som jag vill ibland. .AddDays funktionen returnerar tydligen en ny instans av en DateTime och ändrar inte den ursprungliga som jag vill.
så dt = dt.AddDays(7); fick bli den slutgiltiga och fungerande lösningen.

125 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)