Silvester: Zeit für einen Bug?

Guten Rutsch! Gibt es einen Silvesterbug 2015? Wer weis...

Einen guten Abschluss des Jahres 2014 wünsche ich Dir! Alles möge in Erfüllung gehen, was Du Dir 2015 erträumst…

Der Rest vom Text dreht sich darum wie IT mit Jahreswechseln zurecht kommt, oder eben nicht:
Denn manchmal wird es zum Jahreswechsel in Sachen IT und Internet spannend und Computer bekommen so einen Jahreswechsel in den falschen Hals: Es ist auch nicht gerade toll, dass ein Umlauf der Erde um die Sonne 365 Tage und etwa 6 Stunden dauert. 2038 ist ein heißer Kandidat für einen Fehlerfall.

Was bisher geschah:

Für Dezember 2014 und den Wechsel 2015 ist mir kein kommendes Problem bekannt. Richtig spannend wird es erst 2038: Dann kommt das „Jahr 2038 Problem“. Das geht so:
Seit 1.1.1970, 0:00 Uhr zählen alle Unix/Linux-etc. Rechner Sekunde für Sekunde hoch und wissen so wie spät es ist. D.h. wenn Du irgendwo die Zeit „1.1.1970“ liest, kannst Du vermuten: Hoppla – da gibt es ein Softwareproblem – die Unixzeit steht auf 0…

Technisch gesehen wird die Unixzeit in einer „32-Bit-Ganzzahl“ verarbeitet, d. h. der Zahlenraum bis (2 hoch 31 – 1) = 2.147.483.647 kann abgedeckt werden. Denn von den 32 Bits dient eines dem Vorzeichen und die „0“ zählt ja auch noch und bewirkt das „-1“. Die rund 2.1. Milliarden Sekunden entsprechen etwa 24.855,13 Tagen oder etwa 68 Jahren. Daher 1970+68=2038. Exakt ist es der 19. Januar 2038 um 03:14:08 UTC.

Das sind noch 33 Jahre, die Lösungen liegen nahe und werden sich bis dahin wohl durchgesetzt haben. Bleiben die „Altsysteme“, die sich oft erstaunlich lange halten.

  • Man nehme 64 statt 32 Bit und dann kann weitere 292 Milliarden Jahre länger gezählt werden.
  • Da „1 Sekunde“ als Zeitmaßstab mitunter nicht reicht und „1 Millisekunde“ 1000 Mal besser ist, überarbeitet man das Zeitsystem komplett. Ein Beispiel: Java.lang.System.currentTimeMillis(). Da muss man aber mit den Schaltsekunden sehr aufpassen.


,