Was Unix-Zeit ist

Die Unix-Zeit zählt die Sekunden seit Mitternacht am 1. Januar 1970 UTC, der Epoch. So speichern fast alle Betriebssysteme, Datenbanken und Protokolle einen Zeitpunkt: als eine einzige Zahl, unabhängig von Zeitzone und Sommerzeit.

Die Zahl nennt ihre Einheit nicht. Zehn Stellen sind Sekunden, dreizehn Millisekunden wie in JavaScript und Java, sechzehn Mikrosekunden und neunzehn Nanosekunden. Für Daten zwischen 1973 und 2286 genügt die Stellenzahl, und genau das nutzt die automatische Einstellung.

Die Zeitzone kommt erst ins Spiel, wenn das Datum für Menschen geschrieben wird: Derselbe Zeitstempel ist Mitternacht in London und ein Uhr in Berlin. Deshalb zeigt das Ergebnis UTC und die Ortszeit deines Geräts.

Häufige Fehler

  • Millisekunden als Sekunden lesen: Ein dreizehnstelliger Zeitstempel landet in Sekunden gelesen Zehntausende Jahre in der Zukunft.
  • Die Zeitzone weglassen: Ein Datum ohne Zeitzone liest das eine Programm als UTC, das andere als Ortszeit.
  • Sekunden in einer vorzeichenbehafteten 32-Bit-Ganzzahl speichern: Am 19. Januar 2038 um 03:14:07 UTC läuft der Wert über und wird negativ.

Häufige Fragen

Berücksichtigt die Unix-Zeit Schaltsekunden?

Nein. Jeder Tag hat genau 86.400 Sekunden; wird eine Schaltsekunde eingefügt, wiederholen oder verschmieren die Systeme sie. Die Unix-Zeit ist daher keine exakte Zählung der vergangenen physikalischen Sekunden.

Was ist das Jahr-2038-Problem?

Systeme, die Sekunden in einer vorzeichenbehafteten 32-Bit-Ganzzahl speichern, reichen höchstens bis 2.147.483.647, also bis zum 19. Januar 2038. Die nächste Sekunde wird zu einer negativen Zahl und bedeutet 1901.

Wie erhalte ich den aktuellen Zeitstempel in einem Programm?

In JavaScript liefert Date.now() Millisekunden, in Python time.time() Sekunden mit Nachkommastellen, in einer Linux-Shell date +%s ganze Sekunden. Die Schaltfläche Jetzt tut hier dasselbe.

So funktioniert diese Berechnung

UTC-Datum = Epoch (1970-01-01 00:00:00 UTC) + Zeitstempel ÷ Einheit. Die automatische Einheit ist: Sekunden unter 10^11, Millisekunden unter 10^14, Mikrosekunden unter 10^17, sonst Nanosekunden. Von einem lokalen Datum wird der an diesem Tag gültige Zeitzonenversatz samt Sommerzeit abgezogen. Die ISO-Woche ist die, die den Donnerstag enthält: Woche 1 enthält den ersten Donnerstag des Jahres.