Sven Rautenberg: Aktuelles Datum -3 Tage

Beitrag lesen

Moin!

Es geht auch nicht um das Ergebnis von time, sondern um die Tatsache, daß ein Tag nicht immer 86400 Sekunden hat (wegen der Sommerzeit-Umstellung hat ein Tag im Jahr 3600 Sekunden mehr und einer 3600 Sekunden weniger).

Es geht also um den Teil " - 3 * 86400".

Tatsächlich hat ein Tag natürlich immer 24 Stunden, auch die Tage der Zeitumstellung, aber man wechselt dort eben die Zeitzone, von MEZ auf MESZ, und das führt zu einer Differenz von einer Stunde.

Es besteht also das Problem, die Zeitzonenumrechnung korrekt durchzuführen. Wenn man ein Datum hat, dann kann man den Weg über die Sekunden gehen, dazu muß man dann aber genau wissen, ob das Tagesdatum plus Uhrzeit (ist die Frage, welche Zeit man da nimmt, 0 Uhr bietet sich an) nun Sommerzeit oder Winterzeit ist. Diesen Zeitpunkt rechnet man dann auf GMT um (-1/-2 Stunden), addiert oder subtrahiert dann die Zahl der Sekunden, rechnet das Ergebnis dann wieder passend (je nachdem, ob es Sommer- oder Winterzeit ist) zurück in MEZ oder MESZ - und stellt fest, dass man beim Übergang von Sommer- zu Winterzeit trotzdem eine Differenz von einer Stunde hat, man also nicht wieder genau bei 0 Uhr landet. Ist ja auch logisch, weil die Zeitzone ja gewechselt wurde. Und diese Differenz versaut einem dann das Datum.

Es empfiehlt sich deshalb, eben gerade nicht mit der Zahl der Sekunden zu rechnen, die ein 24-Stunden-Tag lang ist.

  • Sven Rautenberg