Derzeit online: ca. 103 User  
Spenden via PayPal PHP für dich ist auch als Buch erhältlich - im handlichen Format, zum Nachschlagen, Mitnehmen oder gemütlichen nebenbei Lesen. Mit noch mehr Informationen, zusätzlichen Beispielen und Übungsaufgaben.
Jetzt in der aktualisierten Version bei Amazon oder BoD bestellen!


Schnipsel

PHP - mktime Problem duch Oktalsystem

Vor ein paar Jahren habe ich ein Adventskalenderscript erstellt, bei dem das Datum des jeweiligen Tages mittels mktime in einen Timestamp umgewandelt wurde, um zu überprüfen, ob das "Fenster" schon aufgehen darf.

mktime sah also für den 20.12.2002 z. B. so aus:
$akt_timestamp = mktime(0,0,0,12,20,2002);
Später hat ein Bekannter eine Art Adventskalender für jeden Monat daraus gemacht, und dafür das Script angepasst. Dabei hat er den Wert für den Monat zweistellig angegeben, also so:
$akt_timestamp = mktime(0,0,0,04,12,2003);
Das Script funktionierte problemlos, bis es dann Oktober wurde und als Monat 08 angegeben wurde. Da wurde mit einem Mal mit einem ganz falschen Datum gearbeitet.

Nach einiger Recherche kam ich dann darauf, dass dies daran liegt, dass diese Werte, wenn sie mit einer führenden Null angegeben werden, als Oktalzahlen interpretiert werden.

Somit wird 07 zwar als 7 interpretiert, bei 08 und 09 entstehen aber falsche Zahlen und somit funktionierte natürlich in diesen Monaten nichts mehr.

Daher bei mktime Werte immer ohne führende Null angeben!

Autor: Claudia Unkelbach
© 2001 - 2017 Claudia Unkelbach
Gießener Straße 75, 35396 Gießen