PHPHilfe - Datumsfunktionen

vom 31.07.2008, 09:17 Uhr

Hallo,

ich schreibe an einem Rechnungsscript, dass mir immer am ersten eines Monats eine Rechnung vom letzten Monat erstellen soll. Dazu muss ich den ersten Tag des letzten Monats ermitteln, um zu überprüfen wer nach diesem Tag alles den Account genutzt hat. Denn nur aktive Accounts müssen zahlen.

Dazu habe ich im Internet folgende Funktion gefunden:

Code: Alles auswählen
date("Y-m-01", strtotime("-1 month", strtotime(date("Y-m-d"))));

Diese hab ich ein klein wenig vom Format her geändert:
Code: Alles auswählen
date("01 F Y", strtotime("-1 month", strtotime(date("d F Y"))));

Heute haben wir den 31.Juli 2008. Wenn ich das Programm jedoch aufrufe wird mir der 01.Juli.2008 als erster des letzten Monats ausgegeben, obwohl dies ja eigentlich der 01.Juni.2008 ist.

Nun wollte ich fragen, ob jemand weiß woran das liegen könnte. Mitte des Monats am 16.Juli.2008 hat es noch funktioniert, da war der 01.Juni.2008 der ermittelte Tag. Wenn ich statt der -1 eine -2 im Script eingebe, stimmt es auch wieder, dann wird mir der 01.Mai.2008 ausgegeben.

Benutzeravatar

» phpman » Beiträge: 1086 » Talkpoints: 49,35 » Auszeichnung für 1000 Beiträge



Mag jetzt naiv klingen, aber hast du es mal mit

Code: Alles auswählen
date("01 F Y", strtotime("-1 month", strtotime(date("Y-m-d"))));
probiert?

Vielleicht kommt strtotime mit den Monatsnamen durcheinander.

Benutzeravatar

» erklaerbaer » Beiträge: 375 » Talkpoints: -0,67 » Auszeichnung für 100 Beiträge


Hi,

danke erstmal für den Tipp. Aber das geht auch nicht. Ich vermute mal, dass die Funktion Probleme mit den 31 Tagen hat. Wenn ich es gestern versucht hätte und morgen wieder versuche geht es bestimmt.

gruß phpman

Benutzeravatar

» phpman » Beiträge: 1086 » Talkpoints: 49,35 » Auszeichnung für 1000 Beiträge



Hab noch was auf php.net gefunden. Dort ist derselbe Fehler beschrieben und als bekannt gemeldet. PHP hat ein Problem mit dem 31. eines Monats bei dieser Funktion.

Meine Frage hier hat sich damit erledigt. Die Lösung dazu findet sich hier bzw. hier.

gruß phpman

Benutzeravatar

» phpman » Beiträge: 1086 » Talkpoints: 49,35 » Auszeichnung für 1000 Beiträge



Ähnliche Themen

Weitere interessante Themen

^