Kurz gesagt: Ein Unix-Timestamp ist die Zahl der Sekunden seit Mitternacht UTC am 1. Januar 1970. Logs und APIs nutzen ihn, weil er eindeutig und zeitzonenfrei ist. Zwei Dinge führen in die Irre: Sekunden von Millisekunden zu unterscheiden und zu vergessen, dass die rohe Zahl immer UTC ist, bis Sie sie in eine lokale Zone umrechnen.
Beim Vergleich von Einträgen über Server hinweg lässt sich eine schlichte Ganzzahl leichter durchdenken als ein formatiertes Datum: keine Zeitzone, keine Locale, keine Sommerzeit-Ambiguität. Doch genau diese Rohheit ist der Grund, warum ein verirrter Timestamp falsch gelesen werden kann.

Warum Timestamps 1970 beginnen
Die Unix-Epoche ist Mitternacht UTC am 1. Januar 1970, von den frühen Unix-Entwicklern in den Bell Labs als einfacher, fester Bezugspunkt gewählt. Jeder Unix-Timestamp ist nur die Zahl der seither vergangenen Sekunden, was die Arithmetik — „wie lange zwischen diesen zwei Ereignissen?“ — zu einer schlichten Subtraktion macht.
Sekunden oder Millisekunden?
Das ist der häufigste Fehler beim Lesen von Logs. Faustregel: Hat der Wert mehr als 11 Ziffern (größer als etwa 10¹¹), sind es fast sicher Millisekunden. Ein aktueller Sekunden-Timestamp liegt bei rund 1,7 Milliarden (zehn Ziffern); derselbe Moment in Millisekunden bei rund 1,7 Billionen (dreizehn Ziffern). Geben Sie einen Millisekunden-Wert in einen Sekunden-Parser, landen Sie zehntausende Jahre in der Zukunft.
Der Timestamp ist immer UTC
Ein Unix-Timestamp kodiert einen absoluten Moment, keine lokale Uhrzeit. Um ihn einem Menschen zu zeigen, wenden Sie eine Zeitzone an: dieselbe Zahl ist „14:30 in London“ und „09:30 in New York“. Sauber in beide Richtungen umzurechnen heißt, die gemeinte Zone explizit zu machen: Ein guter Konverter nutzt die Standard-IANA-Zeitzonendatenbank und die Intl.DateTimeFormat-API, damit der Offset (samt Sommerzeit) für das jeweilige Datum stimmt.
ISO 8601 für alles, was Sie speichern oder teilen
Wenn ein Timestamp menschenlesbar und zugleich maschinensicher sein muss, nutzen Sie ISO 8601: 2024-03-15T14:30:00.000Z. Das T trennt Datum und Zeit, das Z steht für UTC. Es sortiert korrekt als reiner Text und nimmt dem nächsten Leser das Sekunden-Millisekunden-Rätsel ab.
Die 2038-Notiz
Systeme, die den Timestamp als vorzeichenbehaftete 32-Bit-Ganzzahl speichern, laufen am 19. Januar 2038 über. Die meisten modernen Plattformen sind auf 64-Bit-Zeit umgestiegen, doch es lohnt sich, das bei einem alten System oder einer festbreiten Datenbankspalte zu wissen.
Ein praktischer Ablauf
- Kopieren Sie den Rohwert aus Ihrem Log oder der API-Antwort.
- Fügen Sie ihn in den Timestamp-Konverter ein, der Sekunden vs. Millisekunden automatisch erkennt und das Datum in der gewählten Zone anzeigt.
- Wandeln Sie beide verglichenen Ereignisse in dieselbe Zone um (oder halten Sie beide in UTC), bevor Sie subtrahieren.
- Speichern oder teilen Sie das Ergebnis als ISO 8601, um Ambiguität nicht neu einzuführen. Kombinieren Sie es mit dem Zeichenzähler, wenn Sie einen Log-Auszug für ein Ticket aufräumen.
Häufige Fehler
- Sekunden und Millisekunden im selben Vergleich mischen.
- Annehmen, ein roher Timestamp sei bereits Ortszeit.
- Zwei in verschiedenen Zeitzonen dargestellte Ereignisse vergleichen.
- Festbreite 32-Bit-Zeitfelder nutzen, die 2038 nicht überstehen.