Timestamp zu Datum
Wandeln Sie einen Zeitstempel in ein lesbares Datum um. Unterstützt Sekunden, Millisekunden und Nanosekunden.
2038 springt eine 32-Bit-Uhr nicht auf 1970 zurück — sie landet in 1901
Ein vorzeichenbehafteter 32-Bit-Zeitstempel endet bei 2.147.483.647 Sekunden, also am 19. Januar 2038 um 03:14:07 UTC. Die nächste Sekunde springt nicht auf null. Sie springt auf den kleinsten Wert, den der Typ fassen kann, und stellt die Uhr auf den 13. Dezember 1901 — ein so scheiterndes System springt 137 Jahre zurück.
So wird gerechnet
- Wandelt einen Unix-Zeitstempel in ein lesbares Datum und zurück, in UTC und Ortszeit.
- Erkennt, ob die Eingabe in Sekunden oder Millisekunden vorliegt — der häufigste Fehler.
- Behandelt negative Zeitstempel, die gültig sind und Daten vor 1970 darstellen.
Zeitstempel = Sekunden seit 1970-01-01 00:00:00 UTC 32-Bit-Maximum mit Vorzeichen = 2.147.483.647 → 2038-01-19 03:14:07 UTC die nächste Sekunde springt auf −2.147.483.648 → 1901-12-13 20:45:52 UTC 64-Bit-Maximum mit Vorzeichen ≈ 9,223 × 10¹⁸ Sekunden — rund 292 Milliarden Jahre
Rechenbeispiel
Derselbe zehnstellige Wert zweifach gelesen, dazu die Grenze, an der 32-Bit-Zeit endet.
- 1770000000 als Sekunden gelesen → 2026-02-02
- 1770000000 als Millisekunden gelesen → 1970-01-21
- 10 Stellen bedeuten Sekunden, 13 Stellen Millisekunden
- 2147483647 → 2038-01-19 03:14:07 UTC
- eine Sekunde später → 1901-12-13 20:45:52 UTC
Gefährlich ist der Einheitenfehler, weil er lautlos scheitert. Millisekunden als Sekunden zu lesen wirft Sie ins Jahr 58.000 und fällt sofort auf; Sekunden als Millisekunden zu lesen landet im Januar 1970, was nach einem plausiblen Datum aussieht und die Durchsicht übersteht.
Das Ergebnis lesen
- Ein Datum vom 1. Januar 1970 in Produktion heißt fast immer, dass ein Null- oder Nullwert den Formatierer erreicht hat statt eines echten Zeitstempels. Die Epoche ist der Standardwert einer nicht initialisierten Ganzzahl, weshalb dieses Datum in Fehlermeldungen so oft auftaucht.
- Negative Zeitstempel sind völlig gültig und stellen Daten vor 1970 dar — −86.400 ist der 31. Dezember 1969. Systeme, die sie ablehnen, können keine historischen Daten speichern; das ist eine echte Einschränkung und keine Schutzmaßnahme.
- Der Zeitstempel selbst trägt keine Zeitzone, er ist eine absolute Sekundenzahl. Die Zone kommt erst beim Formatieren ins Spiel, weshalb derselbe Wert bei zwei Nutzenden als zwei verschiedene Kalenderdaten erscheint und weshalb Ortszeit statt Zeitstempel zu speichern so viel Ärger macht.
- Unix-Zeit ignoriert Schaltsekunden definitionsgemäß und wiederholt oder dehnt eine Sekunde, statt sie zu zählen. Sie ist damit keine echte Zählung verstrichener SI-Sekunden, was für präzise Intervallmessung zählt und für fast alles andere nicht.
Häufige Fragen
- Warum zeigt mein Datum 1970 an?
- Weil der Wert, der den Formatierer erreichte, null oder ein Nullwert war, und null ist die Epoche. Es ist selten ein Formatierungsfehler — der Zeitstempel wurde nie gesetzt oder ging weiter oben verloren, und der 1. Januar 1970 ist genau das, wie eine nicht gesetzte Ganzzahl gerendert aussieht.
- Wie unterscheide ich Sekunden von Millisekunden?
- Zählen Sie die Stellen. Aktuelle Zeitstempel haben 10 Stellen in Sekunden und 13 in Millisekunden. Sekunden als Millisekunden zu behandeln ist der Fehler, gegen den es sich zu sichern lohnt, denn er erzeugt ein Datum Anfang 1970, das echt statt offensichtlich absurd aussieht.