dedlfix: Zeit

Beitrag lesen

Hi!

Kann mir bitte jemand erklären, warum dieser Code:
$verbleib=1281948251-1281948249; $verbleib=date("H:i:s", $verbleib); echo"$verbleib";
diese Ausgabe erzeugt: 01:00:02??
Korrekt wäre doch: 00:00:02

Das Ergebnis deiner Subtraktion ist ein Wert in Sekunden. Du verwendest ihn aber als Unix-Timestamp. Der Unix-Timestamp-Wert 2 ist der 1.1.1970 00:00:02 GMT. Zu der Zeit war es in unserer Zeitzone, die du eingestellt per Default haben wirst, bereits 01:00:02 Uhr. date() interpretiert die übergebenen Sekundenzahl immer relativ zum 1.1.1970 00:00:00 GMT. Wenn du weiterhin den Timestamp als Zeitdiffernz missbrauchen willst, solltest du zumindest gmdate() zum Formatieren verwenden, und dir bewusst sein, dass nicht alle Ausgaben deinen Wünschen entsprechen werden.

Lo!