Netti: Unixtime "verrechnet" sich um 2 Stunden

Beitrag lesen

Hallo,

ich habe eine Funktion geschrieben, die einen Unix-Zeitstempel als Parameter erwartet, von einem Referenzdatum subtrahiert und dasselbe auf ein neues Referenzdatum hochrechnet und ausgibt.

  
function newtime($unixtime) {  
$heute_ohne_uhrzeit = date("d/m/Y", time());  
$datesplit = explode("/", $heute_ohne_uhrzeit);  
$heute_null_uhr = mktime( 0, 0, 0, $datesplit[1], $datesplit[0], $datesplit[2] );  
$referenzdatum = 1257894000; // 11.11.2009 00:00:00 Uhr  
$zeitabstand = $referenzdatum - $unixtime;  
$neues_datum = $heute_null_uhr - $zeitabstand;  
return $neues_datum;  
}  

Hierbei verrechnet sich diese Funktion um genau 120 Minuten. 60 hiervon könnte ich mir ggf. noch über die Sommerzeit erklären, aber die restlichen?

Kann mir jemand sagen, warum das so ist und gibt es eine bessere Lösung für die Funktion?

Die Lösung, das über ein mysql-Statement zu machen, ist sicher gut und ich würde das auch lösen können. Aber ich update noch eine Cleartime, die als varchar gespeichert ist sowie ein paar andere Spalten.

Insofern wäre mir eine Funktion wie die obige lieber.

Viele Grüße, Netti