Timestamp-Konvertierungswerkzeug
Unix-Timestamp und Datumsformat gegenseitig konvertieren
Timestamp -> Datum
Datum -> Timestamp
Globale Zeitzone-Vergleich
Häufig verwendete Format-Beispiele
Was ist ein Timestamp?
Ein Timestamp (Zeitstempel) ist ein numerischer Wert, der einen bestimmten Zeitpunkt repräsentiert. Der Unix-Timestamp ist die Anzahl der Sekunden seit dem 1. Januar 1970 00:00:00 UTC (Unix Epoch) bis zum angegebenen Zeitpunkt. Er ist die Standardmethode zur Zeitdarstellung in Computersystemen mit plattform- und zeitzoneübergreifender Eindeutigkeit. Timestamps gibt es in Sekunden- (10-stellig) und Millisekunden-Form (13-stellig). Sekunden-Timestamps werden häufig in Unix/Linux-Systemen verwendet, Millisekunden-Timestamps in JavaScript und anderen Sprachen. Bei Zeitstempeln muss immer geklärt werden, ob Sekunden, Millisekunden oder eine formatierte lokale Zeit gemeint sind. Unix-Timestamps sind zeitzonenunabhängige Punkte auf einer Zeitlinie, die Anzeige in Datum und Uhrzeit hängt aber von Zeitzone und Sommerzeit ab. Das Werkzeug hilft beim Debuggen von Logs, APIs, Datenbanken und Ablaufzeiten. Für Benutzerkommunikation sollte die Zeitzone sichtbar angegeben werden.
Anleitung
Zeitstempel zu Datum
- Einen Unix-Zeitstempel in die linke Karte eingeben.
- Die Zielzeitzone wählen (z. B. Pekinger Zeit UTC+8).
- Auf 'Umrechnen' klicken, um das umgewandelte Datum mit Uhrzeit zu sehen.
- Die Ergebnisse umfassen: Standardformat, ISO 8601, chinesisches Format und mehr.
Datum zu Zeitstempel
- Datum und Zeit in der rechten Karte wählen.
- Die Quellzeitzone für dieses Datum und diese Zeit auswählen.
- Auf 'Umrechnen' klicken, um den Unix-Zeitstempel zu erhalten.
- Die Ergebnisse umfassen Sekunden- und Millisekunden-Zeitstempel.
Zeitzonen-Tipps
- Prüfen, ob der Ausgangswert Sekunden oder Millisekunden verwendet; das Vermischen von 10- und 13-stelligen Zeitstempeln ist eine häufige Ursache für falsche Daten.
- Beim Umwandeln lesbarer Datumsangaben immer die beabsichtigte Zeitzone bestätigen, besonders bei Protokollen, geplanten Aufgaben und regionenübergreifenden Systemen.
Anwendungsfälle
Technisches Prinzip
Ein Unix-Timestamp zählt die verstrichene Zeit seit der Unix Epoch, definiert als 1970-01-01T00:00:00Z, dem Nullpunkt, den die POSIX-Zeit zur Kennzeichnung jedes späteren Zeitpunkts verwendet. POSIX-Zeit ignoriert bewusst Schaltsekunden: Jeder Kalendertag wird exakt als 86.400 Sekunden behandelt, sodass zwei Zeitstempel, die eine Schaltsekundeneinfügung überspannen, im Vergleich zur strengen Atomuhrenzählung um eine Sekunde abweichen – der Vorteil ist jedoch, dass die Umrechnung zwischen Epoch-Sekunden und UTC-Kalenderfeldern ein sauberes Divmod durch 86.400 bleibt. Die beiden täglich verwendeten Formate sind Sekunden (10-stellig, z. B. 1717000000) und Millisekunden (13-stellig, z. B. 1717000000000). JavaScripts Date.now() liefert Millisekunden seit Epoch und `new Date(ms)` erwartet Millisekunden, während Unix `date +%s`, Go's time.Unix und die meisten Datenbank-TIMESTAMP-Spalten Sekunden verwenden. Die längebasierte Erkennung ist die übliche Unterscheidung: Ein 10-stelliger Wert liegt im Bereich 2001–2286, wenn er als Sekunde gelesen wird, und derselbe Wert als Millisekunden gelesen würde innerhalb von 1970 liegen. Die Anzeige eines Zeitstempels erfordert eine Zeitzone. UTC wird mit dem Suffix `Z` geschrieben; andere Verschiebungen verwenden `±HH:MM` (z. B. `+08:00` für China Standard Time, `-05:00` für US Eastern Standard). ISO 8601 erlaubt mehrere optionale Trennzeichen, während RFC 3339 ein strengeres Profil ist, das diese festelegt – daher verlangen API-Spezifikationen in der Regel RFC 3339 mit expliziter Verschiebung. Legacy-Systeme, die Epoch-Sekunden in einem 32-Bit-Signed-Integer speichern, laufen beim maximalen positiven Wert 2147483647 über, der sich zu 2038-01-19T03:14:07Z entschlüsselt (das Y2038-Problem); 64-Bit-Speicher verschiebt die Grenze weit über jede menschliche Relevanz hinaus.
- Die Unix Epoch ist festgelegt auf 1970-01-01T00:00:00Z und POSIX-Zeit ignoriert Schaltsekunden, sodass jeder Tag exakt als 86.400 Sekunden behandelt wird.
- JavaScript Date.now() liefert Millisekunden; `Math.floor(Date.now() / 1000)` konvertiert zu einem Sekunden-Zeitstempel.
- Y2038-Grenze: Ein 32-Bit-Signed-Timestamp läuft bei 2147483647 = 2038-01-19T03:14:07Z über; 64-Bit-Speicher vermeidet dies.
- ISO 8601 vs. RFC 3339: RFC 3339 ist ein strengeres ISO-8601-Profil, das einen expliziten Offset verlangt (`Z` oder `±HH:MM`) und für APIs und Logs bevorzugt wird.
- ECMAScript Date ist beschränkt auf ±100.000.000 Tage ab Epoch (ca. ±273.785 Jahre), daher sind `new Date(8.64e15)` und `new Date(-8.64e15)` die absoluten Grenzen.
- JWT `exp`-, `iat`- und `nbf`-Claims, `Cache-Control: max-age` und Cookie `Expires` verwenden alle Unix-Sekunden (RFC 7519, RFC 7234), sodass sie direkt gegen `Math.floor(Date.now()/1000)` addiert/subtrahiert werden können.
- Die Zeitzone beeinflusst die dargestellte Datum/Uhrzeit, aber nicht den Zeitstempelwert selbst; dieselbe Epoch-Sekunde wird in UTC+8 und UTC-5 als unterschiedliche Uhrzeiten dargestellt.
Beispiele
10-stelligen Unix-Zeitstempel in lesbares Datum umwandeln
Eingabe: 1781526600
UTC: 2026-06-15 12:30:00
Peking (UTC+8): 2026-06-15 20:30:00
ISO 8601: 2026-06-15T12:30:00Z
POSIX: IEEE 1003.1 definiert Unix-Zeit als Sekunden seit 1970-01-01 00:00:00 UTC (die Epoche)
ISO: ISO 8601 definiert das Format YYYY-MM-DDThh:mm:ssZ für eindeutige Datums-/ZeitangabenDatum zurück in einen Zeitstempel umwandeln
Eingabe: 2026-01-01 00:00:00 (UTC)
Sekunden (10 Stellen): 1767225600
Millisekunden (13 Stellen): 1767225600000
Unix-Befehl: date -d @1767225600
Hinweis: JavaScript Date.getTime() gibt Millisekunden zurück; Python time.time() gibt Sekunden (float) zurück
POSIX: Der Typ time_t ist traditionell ein 32-Bit- oder 64-Bit-Ganzzahltyp mit VorzeichenSekunden und Millisekunden unterscheiden
1781526600 -> 10 Stellen, Sekunden -> 2026-06-15 12:30:00 UTC
1781526600000 -> 13 Stellen, Millisekunden -> 2026-06-15 12:30:00.000 UTC
Häufiger Fehler: ein 13-stelliger Wert als Sekunden gelesen ergäbe das Jahr ~74.000
Faustregel: 10-11 Stellen = Sekunden (1970-2286), 13 Stellen = Millisekunden (JavaScript-Standard)JWT-exp-Claim dekodieren
JWT-Payload: { "exp": 1798617600 }
Dekodiert: 2027-01-01 00:00:00 UTC
Aktuell jetzt: 1781526600
Gültig für: 17.091.000 Sekunden (~198 Tage verbleibend)
RFC: RFC 7519 Abschnitt 2 definiert NumericDate als Sekunden seit der EpocheY2038-Grenzwertprüfung
Maximaler vorzeichenbehafteter 32-Bit-Zeitstempel: 2147483647
Dekodiert: 2038-01-19 03:14:07 UTC
Eine Sekunde später: 2147483648 -> Überlauf auf älteren 32-Bit-Systemen
Lösung: 64-Bit time_t verwenden (Standard auf modernem Linux/macOS) oder als ISO-8601-Zeichenkette speichern
POSIX: 32-Bit-time_t-Systeme laufen nach 2038-01-19 überFAQ
Was ist ein Unix-Timestamp?
Die Anzahl der Sekunden seit 1970-01-01 00:00:00 UTC, der sogenannten 'Unix-Epoche'. JavaScript und viele APIs verwenden Millisekunden seit derselben Epoche (Unix-Timestamp × 1000). Die Seite akzeptiert beides und zeigt das entsprechende Datum in deiner lokalen Zeit und in UTC an.
Sekunden vs. Millisekunden vs. Mikrosekunden vs. Nanosekunden?
Verschiedene Systeme nutzen unterschiedliche Präzision. Unix `time()` gibt Sekunden zurück. JavaScript Date.now() liefert Millisekunden. Java Instant unterstützt Nanosekunden. Die Seite erkennt das automatisch anhand der Stellenanzahl: 10 Stellen = Sekunden (im Bereich 2001-2286), 13 = Millisekunden, 16 = Mikrosekunden, 19 = Nanosekunden.
Warum ist der 19. Januar 2038 wichtig?
Das ist das 'Jahr-2038-Problem': 32-Bit signed Unix-Timestamps laufen am 2038-01-19 um 03:14:07 UTC über. Systeme, die noch ein 32-Bit time_t nutzen, springen zurück auf 1901. Moderne 64-Bit-Systeme sind für Milliarden Jahre sicher; ältere Embedded-Systeme brauchen einen Fix.
Wie geht das Tool mit Zeitzonen um?
Unix-Timestamps sind grundsätzlich UTC. Die Seite zeigt deine lokale Zeit und UTC an und lässt dich für zusätzliche Anzeigen eine beliebige IANA-Zeitzone auswählen (Asia/Shanghai, America/New_York, Europe/London). Sommerzeit wird je nach Zone automatisch angewendet.
Warum nimmt das Parsen von 'YYYY-MM-DD' an manchen Stellen UTC an?
ISO-8601-Datumsangaben ohne Zeitzone sind mehrdeutig. Der Date-Konstruktor von JavaScript behandelt reine Datums-Strings als UTC und Datum-Zeit-Strings als lokal - eine berüchtigte Quelle für Off-by-one-day-Bugs. Die Seite macht explizit klar, welche Zeitzone gilt.
Erfolgt die Umrechnung lokal?
Ja. Die Berechnung läuft mit JavaScript Date plus Intl.DateTimeFormat. Es werden keine Timestamps hochgeladen.
Kann ich einen zukünftigen Timestamp erzeugen?
Ja. Wähle ein zukünftiges Datum, und die Seite gibt dir den passenden Timestamp zurück. Praktisch zum Setzen von JWT-exp-Claims, für Cron-Job-Testdaten oder Cache-Ablaufzeiten im Code.