Es ist geschafft! PHP für dich ist ab sofort auch als Buch erhältlich. Endlich im handlichen Format, zum Nachschlagen, mitnehmen oder gemütlich nebenbei lesen. Mit noch mehr Informationen und zusätzlichen Beispielen!
Jetzt 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 zB 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.
Im Oktalsystem entspricht 07 zwar der 7, 08 ist aber 10 und 09 ist 11. Dadurch stimmte natürlich nichts mehr.
Daher bei mktime Werte immer ohne führende Null angeben!