Ich benutze einen Datetimepicker, um einen Tag, Monat, Stunde und Minute auszuwählen.
Nun möchte ich den Nachfolgetag des Selektierten Datums haben.
Eine Möglichkeit wäre das so einfach zu machen
string strStartDay = dateTimePicker_Start.Value.Day.ToString();
int intStartDayPlus1 = Convert.ToInt16(strStartDay) + 1;
string strStartDayPlus1 = intStartDayPlus1.ToString("00");
Aber da bekomme ich Probleme, wenn das selektierte Datum das Ende eines Monats ist.
Gibt es da eine bequeme, schlaue Lösung, oder muss ich mir den Check auf das Monatsende selbst programmieren?
Hallo 11.08.2006,
prüfe mit DateTime.DaysOfMonth ob der selektierte tag + 1 überhaupt gültig ist, ansonsten musst du dann den ersten Tag vom nächsten Monat selektieren.
Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de
Hallo 11.08.2006,
DateTime.AddDays (1)
herbivore
moin
wie wäre es mit DateTime.AddDays(1) ?
dann brauchste dich nicht drum zu kümmern
mfg
/EDIT To Late
Danke, habs so gemacht, aber es verändert nicht meinen Datumswert. Wo steckt der Fehler?
DateTime dt = dateTimePicker_Start.Value;
dt.AddDays(1);
MessageBox.Show(dt.Day.ToString());
Hallo,
du mußt das Ergebnis wieder zuweisen, da Add() nicht den Wert des Objektes ändert, sondern ein neues Objekt zurückgibt:
DateTime dt = dateTimePicker_Start.Value;
dt = dt.AddDays(1);
MessageBox.Show(dt.Day.ToString());
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
dt = dt.AddDays(1);
AddDays gibt ein neues DateTime mit den gewünschten Veränderungen zurück. Siehe Dokumentation!
Grüße,
Andre