Aus gesundheitlichen Gründen kann ich diese Seite nicht weiterpflegen, aktualisieren oder euch Support für eure PHP-Probleme anbieten. PHP für dich bleibt aber in seiner aktuellen Form erhalten und funktioniert nach wie vor als Einstieg in die PHP-Welt - gerade, wenn dich technischere Anleitungen bisher immer davon abgehalten haben.
Mehr dazu...

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


Spenden via PayPal
© 2001 - 2024 Claudia Unkelbach
Gießener Straße 75, 35396 Gießen