Unix-Zeitstempel zu Datum Konverter
Konvertieren Sie einen Unix-Zeitstempel in ein lesbares Datum und eine Uhrzeit — oder jedes Datum zurück in einen Unix-Zeitstempel. Unterstützt Sekunden und Millisekunden.
Dieses Tool teilen
Auf deiner Website einbetten
Verwandte Tools
Was ist ein Unix-Timestamp?
Ein Unix-Timestamp, auch Unix-Zeit oder POSIX-Zeit genannt, ist die Anzahl der Sekunden, die seit 1970-01-01 00:00:00 UTC vergangen sind – bekannt als die Unix-Epoche. Es ist ein weit verbreiteter Standard in der Informatik, weil er einen Zeitpunkt als einzelne ganze Zahl darstellt, was Speicherung, Vergleich und Berechnung vereinfacht.
JavaScript arbeitet intern mit Millisekunden, daher gibt Date.now() den Unix-Timestamp multipliziert mit 1000 zurück. Viele APIs, Datenbanken und Backend-Systeme verwenden stattdessen Sekunden. Dieses Tool akzeptiert beide Formate und erkennt automatisch anhand der Größe der eingegebenen Zahl, ob es sich um Sekunden oder Millisekunden handelt.
Bemerkenswerte Unix-Timestamps
| Timestamp | Datum (UTC) | Hinweis |
|---|---|---|
0 | 1970-01-01 00:00:00 | Unix-Epoche |
1.000.000.000 | 2001-09-09 01:46:40 | 1 Milliarde Sekunden |
2.000.000.000 | 2033-05-18 03:33:20 | 2 Milliarden Sekunden |
2.147.483.647 | 2038-01-19 03:14:07 | Year-2038-Problem (max. 32-Bit) |
Warum 1970?
Die Unix-Epoche vom 1. Januar 1970 wurde teils aus Konvention und teils aus praktischen Gründen gewählt. Unix wurde Ende der 1960er und Anfang der 1970er Jahre bei Bell Labs entwickelt. Die Entwickler brauchten ein aktuelles, rundliches Startdatum für ihre Zeitdarstellung. Der 1. Januar 1970 war aktuell genug, um praktisch zu sein, und hatte keine besondere technische Bedeutung – es war einfach ein praktischer Ankerpunkt.
Alternative Epochen-Daten existieren in anderen Systemen: Die Windows-FILETIME-Epoche ist der 1. Januar 1601; GPS-Zeit begann am 6. Januar 1980; die NTP-Epoche ist der 1. Januar 1900. Beim Konvertieren zwischen Systemen ist es wichtig, die Epoche jedes Systems zu kennen.
Sekunden vs. Millisekunden
Der ursprüngliche Unix-Timestamp wird in Sekunden angegeben. Die meisten serverseitigen Sprachen und Systeme (Unix-Shell, Pythons time.time(), PHPs time(), die meisten Datenbanken) verwenden Sekunden. Javascripts Date.now() und new Date().getTime() geben Millisekunden zurück. Dieser Unterschied ist eine häufige Fehlerquelle, wenn JavaScript-Frontends mit Backend-APIs kommunizieren.
Ein Unix-Timestamp in Sekunden ist derzeit eine zehnstellige Zahl (etwa 1.700.000.000 ab 2023). Ein Millisekunden-Timestamp ist eine dreizehnstellige Zahl. Der Rechner erkennt anhand der Anzahl der Ziffern, welches Format eingegeben wurde, und konvertiert entsprechend.
Das Year-2038-Problem
Systeme, die Unix-Timestamps als signierte 32-Bit-Ganzzahl speichern, können nur Daten bis 2.147.483.647 Sekunden nach der Epoche darstellen – das ist der 19. Januar 2038, 03:14:07 UTC. Nach diesem Moment läuft eine signierte 32-Bit-Ganzzahl über und wird zu einer großen negativen Zahl, die ein Datum im Jahr 1901 darstellt.
Das wird manchmal als „Y2K38"-Problem oder Unix-Millennium-Bug bezeichnet. Moderne 64-Bit-Systeme sind nicht betroffen, da eine signierte 64-Bit-Ganzzahl Timestamps für etwa 292 Milliarden Jahre darstellen kann. Allerdings können eingebettete Systeme, alte Datenbanken und ältere 32-Bit-Software immer noch anfällig sein. Viele Branchen – darunter Telekommunikation, Banking und Industriesteuerungssysteme – führen laufend Migrationen durch, um dieses Problem zu beheben.
So erhältst du den aktuellen Unix-Timestamp
| Sprache / Umgebung | Befehl |
|---|---|
| JavaScript | Math.floor(Date.now() / 1000) |
| Python | import time; int(time.time()) |
| PHP | time() |
| Bash | date +%s |
| SQL (PostgreSQL) | EXTRACT(EPOCH FROM NOW())::int |
| SQL (MySQL) | UNIX_TIMESTAMP() |
| Go | time.Now().Unix() |
| Rust | SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_secs() |
Praktische Anwendungen
API-Entwicklung: REST-APIs verwenden häufig Unix-Timestamps für Felder wie created_at, updated_at und Token-Ablauf. Ein Timestamp ist zeitzonen-agnostisch und eindeutig – im Gegensatz zu formatierten Datumszeichenfolgen, die von Locale und Formatierungskonventionen abhängen.
Token-Ablauf: JWT (JSON Web Tokens) verwenden Unix-Timestamps für die Claims exp (Ablauf) und iat (ausgestellt am). Ein Token läuft ab, wenn der aktuelle Timestamp den exp-Wert überschreitet. Um Ablaufzeiten zu berechnen – „diesen Token sollte in 24 Stunden ablaufen" – addierst du 86.400 Sekunden zum aktuellen Timestamp.
Cache-TTL: Der Cache-Ablauf wird oft als Unix-Timestamp oder als Sekundenanzahl ab jetzt festgelegt. Das Debuggen von Cache-Problemen erfordert häufig, einen gespeicherten Ablauf-Timestamp in ein lesbares Datum umzuwandeln.
Log-Analyse: Server-Logs enthalten oft Unix-Timestamps. Sie in lesbare Daten umzuwandeln ist der erste Schritt, um Log-Einträge mit realen Ereignissen zu korrelieren.
Datenbankenspeicher: Timestamps als ganze Zahlen statt formatierte Zeichenfolgen zu speichern vermeidet Zeitzonen-Konvertierungsfehler und vereinfacht Sortierung, Bereichsabfragen und Arithmetik. Eine Abfrage für „alle Datensätze der letzten 7 Tage" wird zu WHERE created_at > (NOW_UNIX - 604800).
Ähnliche Artikel
Unix-Timestamps in Logdateien — so liest und debuggt man sieServer-Logs enthalten oft Unix-Timestamps, die man auf den ersten Blick kaum lesen kann. Hier erfahren Sie, wie man sie umrechnet, Logeinträge über Systeme hinweg korreliert und typische Timestamp-Bugs bei der Analyse erkennt.
Unix-Timestamps bei JWT und Token-Ablauf — So funktioniert esJWTs nutzen Unix-Timestamps für Ablauf-Claims. Hier erfährst du, wie die Felder exp und iat funktionieren, wie du Token-Lebensdauern berechnest und wie du Ablauf-Probleme mit einem Timestamp-Converter debuggst.
Epoch Time in APIs und Logs – Richtig lesen und konvertierenEpoch Time taucht überall in APIs, Datenbanken und Logs auf, ist aber leicht zu missverstehen. Dieser Guide erklärt, was Epoch Time bedeutet, warum Systeme es nutzen und wie man es ohne häufige Fehler konvertiert.