Der Martin: kleines Datumsproblem

Beitrag lesen

Hallo Simone,

Ich habe den 31.01.2005 und möchte einen Monat dazu addieren

dabei dürfte das Hauptproblem sein, dass der Zeitbegriff "Monat" nicht klar definiert ist: Ein Monat kann ein Zeitraum von 28 bis 31 Tagen sein. Du musst dir also erstmal überlegen, welchen Zeitraum du jeweils meinst.

echo date('d.m.Y',mktime(0,0,0,1+1,31,2005)).'<br>';
// 03.03.2005 ist fehlerhaft

Wie man's nimmt. Du willst den 31.02.2005 - den gibt's aber nicht, weil der Februar nur 28 Tage hat, also normalisiert PHP das Datum. Normalerweise ist das eine tolle Eigenschaft, die man ausnutzen kann. Hier ausnahmsweise nicht.

31.01.2005 + 1 Monat
Wie kann ich das am besten lösen?

Finde heraus, wieviele Tage der Monat des Ausgangsdatums hat, und addiere genau so viele Tage zum Startdatum.

So long,
 Martin

--
Wissen erwirbt man, indem man immer das Kleingedruckte sorgfältig liest.
Erfahrung bekommt man, indem man das nicht tut.