Ich bin ratlos, warum die folgende PHP-strtotime-Funktion '07' als Monatszahl zurückgibt und nicht '06', wenn $ montactToGet = 'June':
%Vor%Bei der Suche scheint es, dass es an den Standard-Datumsparametern (in diesem Fall Tag und Jahr) liegt, da ich sie nicht angegeben habe. Wäre das der Grund?
Irgendwelche Vorschläge geschätzt!
Sie haben Recht
%Vor%Allerdings funktioniert das :
%Vor% Heute ist 31. July 2012
und da Sie nur einen Monat angeben, werden der aktuelle Tag und das aktuelle Jahr verwendet, um ein gültiges Datum zu erstellen.
Siehe die Dokumentation :
HINWEIS
Die Funktion erwartet eine Zeichenfolge mit einem englischen Datumsformat und versucht, dieses Format in einen Unix-Zeitstempel (die Anzahl der Sekunden seit dem 1. Januar 1970, 00:00:00 UTC), relativ zu dem in angegebenen Zeitstempel, zu zerlegen jetzt, oder die aktuelle Zeit, wenn jetzt nicht geliefert wird.
Sie könnten date_parse_from_format()
oder strptime()
, um mit einem etwas anderen Ansatz zu erreichen, was Sie wollen.
(Danke an johannes_ und johann__ für ihre Eingabe)
Fixed mit:
%Vor%Aber ich verstehe immer noch nicht warum, denn "m" ist ein gültiges Datumsformat
Heute ist der 31. Juli. Ein strtotime
mit nur "June"
wird interpretiert als 31 June
= & gt; 1 July
.
Tatsächlich:
%Vor% natürlich ... nur today 31 Jul 2012
:) Morgen wird alles funktionieren.
Du hast Glück, weil du diesen Fehler gerade heute gefunden hast;)
Tags und Links php