Laden...

Datum + 1 Tag

Erstellt von 11.08.2006 vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.406 Views
1
11.08.2006 Themenstarter:in
310 Beiträge seit 2006
vor 17 Jahren
Datum + 1 Tag

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?

2.082 Beiträge seit 2005
vor 17 Jahren

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

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo 11.08.2006,

DateTime.AddDays (1)

herbivore

2.223 Beiträge seit 2005
vor 17 Jahren

moin

wie wäre es mit DateTime.AddDays(1) ?

dann brauchste dich nicht drum zu kümmern

mfg

/EDIT To Late

1
11.08.2006 Themenstarter:in
310 Beiträge seit 2006
vor 17 Jahren

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());


3.170 Beiträge seit 2006
vor 17 Jahren

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

1.373 Beiträge seit 2004
vor 17 Jahren

dt = dt.AddDays(1);

AddDays gibt ein neues DateTime mit den gewünschten Veränderungen zurück. Siehe Dokumentation!

Grüße,
Andre