Mit diesem Artikel ist es genau 1234567890 Uhr

Ja, kein Scherz: soeben sind 1234567890 Sekunden seit dem 1. Januar 1970 00:00 (UTC) vergangen. Kenner werden nun wissen, dass ich mich auf die Unixzeit beziehe, die die Anzahl an Sekunden zählt, die seit dem Jahreswechsel 1969/70 vergangen sind.

Ob es nun jedoch einen Anlass zum Feiern gibt ist fraglich, das hat mehrere Gründe.

Zuerst wäre anzuführen, dass es zum Startzeitpunkt „The EPOCH“ der Unixzeit die koordinierte Weltzeit UTC in der jetzigen Form noch nicht gab – diese wurde erst 1972 eingeführt – und daher der 1. Januar 1970 00:00 GMT den Beginn der Unixzeit darstellt. Dass dieser Zeitpunkt genau mit dem Zeitpunkt in UTC gemessen übereinstimmt ist reiner Zufall, da in UTC und GMT verschiedene Schaltsekunden definiert wurden.
Erst 1972 wurden die Schaltsekunden in GMT und UTC vereinheitlicht, was dazu führt, dass Unixzeitangaben vor dem 1. Januar 1972 ungenau sind. Desweiteren verschieben genau diese Schaltsekunden den Zeitpunkt 1234567890 (die Zeit nach UTC springt um eine Sekunde nach vorne, Unixzeit läuft normal weiter) nach hinten.

Wenn ich nun die 24 Schaltsekunden einrechne, dann ist nicht der 13. Februar 2009 23:31:30 UTC (entspricht dem 14. Februar 2009 00:31:30 hier in Mitteleuropa) sondern schon der 13. Februar 2009 23:31:54 UTC der eigentliche Zeitpunkt 1234567890.

Ein weiterer Kritikpunkt an der Unixzeit ist ihre datentechnische Beschränktheit: Die Unixzeit wird im Allgemeinen als vorzeichenbehafteter 32-bit Integer gespeichert, was einen unangenehmen Nebeneffekt hat: Es können nur Sekundenangaben von −2.147.483.648 bis +2.147.483.647 angegeben werden. Das bedeutet, dass die Unixzeit am 19. Januar 2038 03:14:08 UTC (Schaltsekunden – die im Übrigen nicht vorhersagbar sind – müssen noch eingerechnet werden…) überläuft, in den negativen Bereich springt und den 13. Dezember 1901 20:45:52 UTC angibt. In mittlerer Zukunft müsste man somit dazu übergehen die Unixzeit in einem 64-bit Wert zu speichern.
Gleichzeitig ist es natürlich schon jetzt nicht möglich Zeiten vor dem 13. Dezember 1901 20:45:52 UTC in Unixzeit anzugeben, da dieser Zeitpunkt dem Wert −2.147.483.648 entspricht.

Dieser Beitrag wurde unter Kurioses, Programmieren abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.