Datenqualität

Historische Zeitzonenänderungen und warum sie noch immer wichtig sind

Software, die Zeitzonen-Offsets berechnet, geht oft stillschweigend davon aus, dass die aktuelle Regel einer Zone schon immer galt. Diese Annahme funktioniert gut, bis Sie einen Zeitstempel aus der Zeit vor der letzten Regeländerung korrekt interpretieren müssen. Dann liefert sie unbemerkt eine falsche Antwort, die völlig plausibel aussieht. Das ist eine wirklich häufige Quelle subtiler Datenfehler in Systemen, die historische Zeitstempel über einen nennenswerten Zeitraum speichern oder verarbeiten.

Das ist wichtig, weil Zeitzonenregeln, also Beginn und Ende der Sommerzeit, Standard-Offsets und sogar die Frage, zu welcher Zone ein Ort gehört, nicht für immer feststehen. Sie ändern sich, wenn Regierungen sie ändern, wie an anderer Stelle beschrieben, und ein vor Jahren erfasster Zeitstempel braucht die Regel, die an genau diesem Datum tatsächlich galt, und nicht die heute geltende, um den korrekten entsprechenden Zeitpunkt in einer anderen Zone oder in UTC zu berechnen.

Genau deshalb speichert die IANA-Zeitzonendatenbank für jede benannte Zone die vollständige Historie der Regeländerungen und nicht nur die aktuelle Regel. Korrekt darauf aufbauende Software kann die Frage beantworten, „welcher UTC-Offset galt für diese Zone an diesem bestimmten historischen Datum“, was eine wirklich andere und komplexere Frage ist als „welcher UTC-Offset gilt für diese Zone gerade jetzt“. Beides zu verwechseln, ist genau der Weg, auf dem historische Zeitstempeldaten unbemerkt falsch werden.

Das zeigt sich auf ganz konkrete, praktische Weise. Ein System, das einen historischen Log-Zeitstempel zur Analyse von Ortszeit in UTC umrechnet, braucht die historische Regel für das ursprüngliche Datum und die Zone dieses Logs, nicht die aktuelle, sonst führt die Umrechnung einen Fehler ein, der je nach Umstellung bis zu einer vollen Stunde in beide Richtungen betragen kann. Ein System, das das Alter einer Person oder die Laufzeit eines Vertrags über Daten hinweg berechnet, zwischen denen eine historische Regeländerung liegt, erfordert dieselbe Sorgfalt, auch wenn die Auswirkungen dort meist geringer sind. Selbst die Anzeige eines alten Zeitstempels in der aktuellen Ortszeit eines Nutzers erfordert eine Umrechnung über die korrekte historische Regel für die ursprüngliche Zone und das ursprüngliche Datum, nicht über die aktuelle.

Die praktische Empfehlung lautet, Zeitzonenumrechnungen immer mit einem System durchzuführen, das historische Regeländerungen für die betreffende Zone und das betreffende Datum kennt, und nicht mit einem, das nur die aktuelle Regel kennt, und bei jedem Prozess besonders vorsichtig zu sein, der historische Daten über einen Zeitraum hinweg stapelweise umrechnet, in den eine Regeländerung fallen könnte. Unsere Zeitzonen-Abfrage lässt sich für einen bestimmten Zeitpunkt abfragen und wendet dabei die Regeln an, die an diesem Datum tatsächlich galten. Das ist genau das Verhalten, das nötig ist, um historische Daten korrekt zu verarbeiten, statt bei jeder Berechnung standardmäßig die heutige Regel anzuwenden, unabhängig davon, welches Datum tatsächlich verarbeitet wird.