Ich stehe vor einem Rätsel! Code: $lastmonat = date("n", strtotime("-1 month")); Ab Mitternacht (29.03) wird als letzter Monat "03" ausgegeben! Gab es eine Kalenderreform, die ich verpennt habe oder gibt es irgendeine andere Erklärung dafür?
Das riecht stark nach einem PHP-Bug... date('d.m.Y',strtotime("-1 month")) ergibt "01.03.2014". Anscheinend hat PHP Probleme mit dem Februar.....
Nicht weinen, Alter.... Nimm das: PHP: date('n',mktime(0,0,0,(int)date('m')-1,1,(int)date('Y'))) Das rechnet richtig: 2.
Du darfst dich als geknuddelt betrachten! Nur für´s Stammbuch: - Formel falsch oder tatsächlich PHP-Bug?
Ich bin für Bug.... Viel falsch machen kann man da ja nicht.... Scheint ein generelles "strtotime"-Problem zu sein. Da http://derickrethans.nl/obtaining-the-next-month-in-php.html wir ein ähnliches Problem beschrieben...
Dann wollen wir ganz dolle hoffen, dass diese Abfrage nirgends im Shop vorkommt .... abgesehen vom meinem Script!
Das ist wohl ein übler systematischer Fehler von "strtotime". Da wird wohl einfach der Monat um "1" erniedrigt. Aus dem 29. März wird dann der 29. Februar, der dann (richtiger Weise) als 1. März berechnet wird. Ziemlich dumm, so ein Fehler...