Hallo Zusammen,
mich beschäftigt ein eigentlich !sehr banales! Problem - ich behaupte trotzdem, das ist eine Frage an die Leute die einfach uns Eck denken können:
Ich führe für einen Kalender Berechnungen mit dem Ostertag durch:
Funktion: "easter_date(Jahresangabe4Stellig)"
die Funktion liefert einen Zeitstempel im UnixStyle zurück, also z.B.
für 2016: 1459033200 --> in Realzeit also: 27.03.2016 - 00:00:00
Bis jetzt keine Probleme.
Möchte ich jetzt z. B. den Ostermontag berechnen (liegt einen Tag nach dem Ostersonntag), so hatte ich mir gedacht ich addiere zu dieser Unixzeit einfach 86400 Sekunden auf (24h * 60min * 60sek).
konkret also: 1459033200 + 86400 = 1459119600
jetzt kommt aber das komische:
rechne ich diesen Zeitstempel wieder nach Realzeit um (z. B. durch Funktion: "mktime"), erhalte ich folgende Ausgabe:
1459119600 --> 28.03.2016 - 01:00:00
meine Frage nun, woher kommt die eine Stunde (fett markiert)??
Ich habe mich ewig eingelesen und vieles versucht, in manchen Jahren klappt es, da komme ich auf Uhrzeit 00:00:00 raus (so solls auch sein) - in anderen geht es nicht (z. B.: 2016 (Schaltjahr), 2024 (Schaltjahr), 2027 (kein Schaltjahr),...).
Dann habe ich weitergelesen und den Fehler bei Sommer-/Winterzeit (Normalzeit) vermutet: hier lässt sich die Stunde korrigieren, zumindest manchmal... - nicht immer!
Wo ist hier der Fehler, wo die Regelmäßigkeit, was mache ich falsch?
Vielen Dank!!
mich beschäftigt ein eigentlich !sehr banales! Problem - ich behaupte trotzdem, das ist eine Frage an die Leute die einfach uns Eck denken können:
Ich führe für einen Kalender Berechnungen mit dem Ostertag durch:
Funktion: "easter_date(Jahresangabe4Stellig)"
die Funktion liefert einen Zeitstempel im UnixStyle zurück, also z.B.
für 2016: 1459033200 --> in Realzeit also: 27.03.2016 - 00:00:00
Bis jetzt keine Probleme.
Möchte ich jetzt z. B. den Ostermontag berechnen (liegt einen Tag nach dem Ostersonntag), so hatte ich mir gedacht ich addiere zu dieser Unixzeit einfach 86400 Sekunden auf (24h * 60min * 60sek).
konkret also: 1459033200 + 86400 = 1459119600
jetzt kommt aber das komische:
rechne ich diesen Zeitstempel wieder nach Realzeit um (z. B. durch Funktion: "mktime"), erhalte ich folgende Ausgabe:
1459119600 --> 28.03.2016 - 01:00:00
meine Frage nun, woher kommt die eine Stunde (fett markiert)??
Ich habe mich ewig eingelesen und vieles versucht, in manchen Jahren klappt es, da komme ich auf Uhrzeit 00:00:00 raus (so solls auch sein) - in anderen geht es nicht (z. B.: 2016 (Schaltjahr), 2024 (Schaltjahr), 2027 (kein Schaltjahr),...).
Dann habe ich weitergelesen und den Fehler bei Sommer-/Winterzeit (Normalzeit) vermutet: hier lässt sich die Stunde korrigieren, zumindest manchmal... - nicht immer!
Wo ist hier der Fehler, wo die Regelmäßigkeit, was mache ich falsch?
Vielen Dank!!
Kommentar