Einen Unix-Timestamp in ein Datum umwandeln und ein Datum in einen Timestamp
Veröffentlicht am · Aktualisiert am 3 Min. Lesezeit
Ein Unix-Timestamp ist eine Zahl, die die seit dem 1. Januar 1970 um Mitternacht verstrichene Zeit zählt, in Weltzeit. Man begegnet ihr in Datenbanken, Programmprotokollen und Website-Schnittstellen. Zwei Fragen entscheiden über das erhaltene Datum: die Einheit der Zahl und die Zeitzone, in der man das Ergebnis liest.
Ein Referenzwert
Unix-Timestamp konvertieren liefert drei Lesarten desselben Zeitpunkts. Für 1700000000, bei einem auf die Pariser Zeit eingestellten Browser:
| Lesart | Ergebnis |
|---|---|
| UTC-Datum | Tue, 14 Nov 2023 22:13:20 GMT |
| Lokales Datum | 14. November 2023 um 23:13:20 UTC+1 |
| ISO | 2023-11-14T22:13:20.000Z |
Die Ortszeit folgt der Zeitzone des Browsers: eine Stunde mehr in Paris im Winter. Derselbe Timestamp ist ein einziger Zeitpunkt, in zwei Zeitzonen gelesen.
Die Einheit wird an der Zahl der Ziffern erkannt
Die Standardeinstellung erkennt die Einheit an der Länge der Zahl. Die drei folgenden Werte bezeichnen denselben Zeitpunkt, bis auf die Genauigkeit.
| Zahl | Ziffern | Erkannte Einheit | Erhaltener Zeitpunkt |
|---|---|---|---|
| 1700000000 | 10 | Sekunden | 14. Nov. 2023, 22:13:20 UTC |
| 1700000000000 | 13 | Millisekunden | 14. Nov. 2023, 22:13:20 UTC |
| 1700000000123456 | 16 | Mikrosekunden | 14. Nov. 2023, 22:13:20,123 UTC |
Die Regel: bis 11 Ziffern Sekunden, von 12 bis 14 Millisekunden, 15 und 16 Mikrosekunden. Die Einstellung „Millisekunden“ erzwingt diese Einheit.
Die Falle der Regel
Da sich die Einheit aus der Länge ergibt, wird ein mehrdeutiger Wert nur auf eine Weise gelesen: 10000000000 (11 Ziffern) ergibt den 20. November 2286 und 100000000000 (12 Ziffern) den 3. März 1973. Ein Millisekunden-Timestamp vor März 1973 hat 11 Ziffern oder weniger und würde als Sekunden gelesen: Erzwingen Sie dann die Einstellung „Millisekunden“.
Werte vor 1970 und die Grenze von 2038
Eine negative Zahl bezeichnet einen Zeitpunkt vor 1970: −1 ergibt den 31. Dezember 1969 um 23:59:59 UTC und 0 den 1. Januar 1970 um Mitternacht.
Die Zahl 2147483647 ist die größte, die eine vorzeichenbehaftete 32-Bit-Ganzzahl fasst: Sie ergibt den 19. Januar 2038 um 03:14:07 UTC. Die nächste Zahl, 2147483648, ergibt 03:14:08. Das Werkzeug macht ohne Grenze weiter, aber ein System, das die Zeit in 32 Bit speichert, kann es nicht: Das ist der „Jahr-2038-Fehler“.
Ein Datum in einen Timestamp umwandeln
Geben Sie statt einer Zahl ein Datum ein: Das Werkzeug liefert den Timestamp in Sekunden und in Millisekunden.
| Eingabe | Timestamp in Sekunden | Lesart |
|---|---|---|
| 2026-01-01 | 1767225600 | Mitternacht in Weltzeit, ohne angegebene Zeitzone |
| 2026-01-01T10:30:00+01:00 | 1767259800 | 10:30 in Paris, also 09:30 in Weltzeit |
| 2024-02-29 | 1709164800 | Schaltjahr akzeptiert |
Ein Datum ohne Zeitzone wird in Weltzeit gelesen, nicht in Ortszeit: Das Werkzeug erinnert im Ergebnis daran. Ein Datum, das es nicht gibt, wie der 30. Februar 2026, wird mit einer Meldung abgelehnt.
Häufige Fehler
- Millisekunden als Sekunden lesen: Das Datum landet Tausende Jahre zu weit entfernt.
- Die Zeitzone vergessen: Ein als lokal gelesenes und dann als universell gesendetes Datum verschiebt sich um eine oder mehrere Stunden.
- Ein Datum ohne Zeitzone schreiben und dabei an die Ortszeit denken, obwohl es in Weltzeit gelesen wird.
Um die Tage zwischen zwei Daten zu zählen, siehe Die Tage zwischen zwei Daten zählen.
Für welche Fälle
Ein Programmprotokoll, eine Datenbank, die Antwort eines Online-Dienstes oder eine exportierte Datei: Die Zahl liest sich schlecht, das Datum sofort.
Eine Umwandlung prüfen
- Lesen Sie die UTC-Zeile erneut, die nicht von Ihrem Gerät abhängt.
- Prüfen Sie die in der ersten Zeile des Ergebnisses angegebene Einheit.
- Wandeln Sie das erhaltene Datum zurück: Sie müssen die Ausgangszahl wiederfinden.
Häufige Fragen
- Was ist ein Unix-Timestamp?
- Die Zahl der seit dem 1. Januar 1970 um Mitternacht verstrichenen Sekunden, in Weltzeit.
- Woran erkennt man, ob eine Zahl in Sekunden oder Millisekunden vorliegt?
- Das Werkzeug leitet es aus der Zahl der Ziffern ab: bis 11 Ziffern Sekunden, von 12 bis 14 Millisekunden, 15 und 16 Mikrosekunden.
- Was geschieht 2038?
- Die Zahl 2147483647, die größte vorzeichenbehaftete 32-Bit-Ganzzahl, entspricht dem 19. Januar 2038. Ein System, das die Zeit in 32 Bit speichert, kann nicht weiter.
- Welche Zeitzone gilt für ein Datum ohne Zeitzone?
- Die Weltzeit, nicht die Ortszeit. Das Werkzeug erinnert im Ergebnis daran.
