godlie
Goto Top

Mktime Probleme

Hallo,

bin gerade einem sehr interessantem Problem auf der Spur.
Ich verwende in einem php Script welches per cron abläuft
mktime zur Generierung eines Timestamps.

Das interessante ist das manchmal der Generierte Timestamp um eine Stunde abweicht.

mktime(4,0,0,"heutiges Datum in m.d.y");  

Beim Datum hab ich die führenden Nullen rausgenommen da ich die anderorts brauche ....

Gelegentlich kommt beim Timestamp dann 3 Uhr heraus und nicht 4 Uhr also sehr komisch.

Apache/2.2.9 (Unix)
PHP/5.2.8

Jemand ne idee was da dahinter steckt? face-smile

Content-Key: 138163

Url: https://administrator.de/contentid/138163

Printed on: April 19, 2024 at 21:04 o'clock

Member: kaiszy28
kaiszy28 Mar 13, 2010 at 17:13:48 (UTC)
Goto Top
Hi!

mktime wird in folgender Weise benutzt:

int mktime  ([  int $hour = date("H")  [,  int $minute = date("i")  [,  int $second = date("s")  [,  int $month = date("n")  [,  int $day = date("j")  [,  int $year = date("Y")  [,  int $is_dst = -1  ]]]]]]] )  

Dein Aufruf sieht ziemlich falsch aus ;)

CU,
Kai.
Member: godlie
godlie Mar 13, 2010 at 17:18:58 (UTC)
Goto Top
Hallo,

der Aufruf is ja nicht wirklich so wie er da oben steht.

$dateSplit = explode(".","12.3.2010");  
mktime(4,0,.0,$dateSplit[1],$dateSplit,$dateSplit[2]);
Member: dog
dog Mar 13, 2010 at 18:24:30 (UTC)
Goto Top
Das interessante ist das manchmal der Generierte Timestamp um eine Stunde abweicht.

Und jetzt überlegen wir mal wo wir hier sind: Richtig, in GMT+1

Du musst deinem PHP schon richtig mitteilen, in welcher Zeitzone zu dein Datum haben willst und aus welcher es kommt.
date_default_timezone_set('Europe/Berlin');  

http://www.php.net/manual/en/datetime.createfromformat.php

usw.
Member: godlie
godlie Mar 13, 2010 at 19:29:48 (UTC)
Goto Top
Naja das nag schon so seine Richtigkeit haben nur warum tritt der Fehler nur sporadisch auf?
Member: dog
dog Mar 13, 2010 at 19:43:58 (UTC)
Goto Top
Weil du dich nicht darauf verlassen kannst, dass dein Environment immer gleich ist.
Member: godlie
godlie Mar 24, 2010 at 05:54:53 (UTC)
Goto Top
Hallo,
nach einer Woche Beobachtung auch mit date_default_timezone_set trat der Fehler Heute auf,
das scheint wirklich ein Bug zu sein.
Denn der Generierte Timestamp lag um eine Stunde daneben.