So nutzen Sie den Unix-Zeitstempel-Konverter
- Fügen Sie einen Unix-Zeitstempel ein. Der Konverter erkennt, ob er in Sekunden oder Millisekunden angegeben ist.
- Lesen Sie das Datum in UTC, in Ihrer lokalen Zeitzone und im Format ISO 8601 ab.
- Für die umgekehrte Richtung wählen Sie Datum und Uhrzeit und kopieren den resultierenden Zeitstempel.
Die Umrechnungen erfolgen in Ihrem Browser anhand der Uhr und der Zeitzoneneinstellungen Ihres Geräts; nichts wird an einen Server gesendet oder dort gespeichert.
Was ist ein Unix-Zeitstempel?
Ein Unix-Zeitstempel (auch Epoch-Zeit, Unixzeit oder POSIX-Zeit genannt) ist die Anzahl der Sekunden, die seit der Unix-Epoche: 1970-01-01T00:00:00Z vergangen sind, also seit Mitternacht UTC am 1. Januar 1970. Zeitpunkte vor der Epoche sind negative Zahlen.
Zeitstempel sind beliebt, weil sie eine einzige Ganzzahl sind, unabhängig von Zeitzonen und Sommerzeit, leicht zu vergleichen und zu sortieren und platzsparend zu speichern. Die Umrechnung in eine Ortszeit ist eine Frage der Anzeige und erfolgt erst im letzten Moment.
1700000000 → 2023-11-14T22:13:20Z
0 → 1970-01-01T00:00:00Z
-86400 → 1969-12-31T00:00:00Z
Sekunden oder Millisekunden
Unix-Tools, PHP, Pythons time.time() und die meisten Datenbanken verwenden Sekunden. JavaScripts Date.now(), Javas System.currentTimeMillis() und viele JSON-APIs verwenden Millisekunden. Für heutige Datumswerte hat ein Sekundenwert 10 Ziffern und ein Millisekundenwert 13. Beides zu verwechseln ist der mit Abstand häufigste Zeitstempel-Fehler:
new Date(1700000000) // Tue Jan 20 1970 (treated as ms!)
new Date(1700000000 * 1000) // Tue Nov 14 2023
Schaltsekunden werden ignoriert
Die Unixzeit geht davon aus, dass jeder Tag genau 86.400 Sekunden hat. Wird in UTC eine Schaltsekunde eingefügt, zählt die Unixzeit sie nicht mit, daher entspricht der Zeitstempel nicht der tatsächlichen Anzahl verstrichener SI-Sekunden seit 1970. Für fast alle Anwendungen ist das unerheblich, und es hält Datumsberechnungen einfach.
Häufige Fehler
Das Jahr-2038-Problem
Systeme, die Zeitstempel als vorzeichenbehaftete 32-Bit-Ganzzahl speichern, können nur bis 2.147.483.647 zählen, das entspricht 2038-01-19T03:14:07Z. Eine Sekunde später läuft der Wert über und springt auf eine negative Zahl, die ein Datum im Dezember 1901 darstellt. Moderne Betriebssysteme und Programmiersprachen verwenden 64-Bit-Zeit, aber eingebettete Geräte, alte Dateiformate und Datenbankspalten, die als 32-Bit-Ganzzahl deklariert sind, bleiben gefährdet. Verwenden Sie 64-Bit-Ganzzahlen oder native Datums-/Zeittypen für alles, was Datumswerte in der Zukunft speichern könnte.
Ortszeit, die sich einschleicht
Wird eine Datumszeichenkette ohne Zeitzone geparst, etwa 2024-03-10 02:30, verwendet das System die lokale Zeitzone des Rechners. Das kann auf verschiedenen Servern unterschiedliche Zeitstempel ergeben oder während einer Sommerzeitumstellung eine ungültige Uhrzeit. Geben Sie immer einen Offset oder Z an.
ISO 8601
Für den für Menschen lesbaren Datenaustausch ist ISO 8601 (und sein Internetprofil RFC 3339) der Standard: 2023-11-14T22:13:20Z oder 2023-11-14T23:13:20+01:00. Wie Zeitstempel lassen sich ISO-8601-Zeichenketten in UTC als reiner Text korrekt sortieren.
Den aktuellen Zeitstempel im Code abrufen
| Umgebung | Sekunden seit der Epoche |
|---|---|
| Shell (Linux, macOS) | date +%s |
| Python | import time; int(time.time()) |
| JavaScript | Math.floor(Date.now() / 1000) |
| PHP | time() |
| MySQL | SELECT UNIX_TIMESTAMP(); |
| PostgreSQL | SELECT EXTRACT(EPOCH FROM now()); |
Um einen Zeitstempel auf der Kommandozeile wieder in ein Datum umzuwandeln, verwenden Sie date -u -d @1700000000 unter Linux (GNU date) oder date -u -r 1700000000 unter macOS.
exp, iat und nbf als Unix-Zeitstempel in Sekunden. Der JWT-Decoder rechnet sie für Sie um. Für zeitlich sortierbare Kennungen mit eingebettetem Millisekunden-Zeitstempel sehen Sie sich den UUID-v7-Generator an.Häufig gestellte Fragen
Ist ein Unix-Zeitstempel in jeder Zeitzone gleich?
Ja. Er zählt die Sekunden seit einem festen Zeitpunkt in UTC und ist daher zu jedem Zeitpunkt überall identisch. Nur seine Umrechnung in die lokale Uhrzeit unterscheidet sich.
Wie unterscheide ich Sekunden von Millisekunden?
Zählen Sie die Ziffern. Aktuelle Datumswerte haben in Sekunden 10 Ziffern und in Millisekunden 13. Ein „Datum“ im Januar 1970 bedeutet meist, dass ein Sekundenwert als Millisekunden gelesen wurde; ein Datum Zehntausende Jahre in der Zukunft bedeutet das Gegenteil.
Was passiert im Jahr 2038?
Nur Software, die die Zeit in einer vorzeichenbehafteten 32-Bit-Ganzzahl speichert, funktioniert dann nicht mehr. 64-Bit-Zeitstempel laufen erst in Milliarden von Jahren über.
Kann ein Unix-Zeitstempel negativ sein?
Ja. Negative Werte stehen für Zeitpunkte vor dem 1. Januar 1970, allerdings akzeptieren manche älteren Systeme und APIs sie nicht.
Aktualisiert