Unix-Timestamp-Rechner
Fügen Sie eine Zahl wie 1700000000 ein, um das Datum zu sehen, für das sie steht, oder wählen Sie ein Datum, um seine Zahl zu erhalten. Sie müssen nicht sagen, ob es Sekunden, Millisekunden, Mikrosekunden oder Nanosekunden sind. Die Größe der Zahl verrät es.
Unix-Zeit jetzt gerade, in Sekunden
Die Ergebnisse erscheinen während der Eingabe. Jede Umrechnung erledigt Ihr Browser: Die eingegebenen Werte werden nicht an uns gesendet.
Zahl in Datum
Datum in Zahl
Die Datums- und Uhrzeitfelder werden in der oben gewählten Zeitzone gelesen. Ein Text, der auf Z oder einen Versatz wie +02:00 endet, behält seine eigene Zone.
Eine Zahl, überall derselbe Augenblick
Fragen Sie drei Leute in einer Videokonferenz nach der Uhrzeit, und Sie hören vielleicht 9:00, 15:00 und 23:00. Alle haben recht, was einem Computer überhaupt nicht hilft, der Ereignisse ordnen, eine Sitzung ablaufen lassen oder ein Dokument signieren muss.
Die Unix-Zeit umgeht das, indem sie die Sekunden seit Mitternacht UTC am 1. Januar 1970 zählt, einem Startpunkt, der Epoch genannt wird. Der Zähler erreichte 1.700.000.000 am 14. November 2023 um 22:13:20 UTC. In New York war es 17:13 Uhr, in Tokio schon der nächste Morgen, und jede Maschine auf der Erde zeigte dieselbe Zahl.
Ein Timestamp hat keine Zeitzone und keine Sommerzeit. Zonen kommen erst ins Spiel, wenn die Zahl in etwas umgewandelt wird, das ein Mensch liest. Deshalb fragt diese Seite, welche Zone Sie möchten, und zeigt UTC daneben.
Sekunden, Millisekunden und mehr
Die ursprüngliche Zählung ist in Sekunden. Viele Systeme brauchen feinere Schritte, also zählen sie kleinere Einheiten ab derselben Epoch, und nichts in der Zahl verrät, welche Einheit Sie vor sich haben. Sie müssen nach der Länge gehen:
| Einheit | Stellen heute | Typische Quelle |
|---|---|---|
| Sekunden | 10 | Unix-Tools, PHP time(), JWT-Daten, die meisten APIs |
| Millisekunden | 13 | JavaScript Date.now(), Java, Kafka |
| Mikrosekunden | 16 | PostgreSQL, Python time.time_ns() // 1000, Trace-Logs |
| Nanosekunden | 19 | Go UnixNano(), InfluxDB, OpenTelemetry |
Der Rechner macht es genauso: Unter 100 Milliarden liest er Sekunden, unter 100 Billionen Millisekunden, dann Mikrosekunden, dann Nanosekunden. Er sagt Ihnen, wovon er ausgegangen ist. Die Vermutung geht nur bei Daten nahe 1970 in einer feinen Einheit schief, und mit der Liste „Einheit“ können Sie sie übersteuern.
Verwechselte Einheiten sind der klassische Timestamp-Fehler. Lesen Sie Sekunden als Millisekunden, landen Sie im Januar 1970. Lesen Sie Millisekunden als Sekunden, landen Sie Zehntausende Jahre in der Zukunft.
Werte, die einen zweiten Blick verdienen
- Null oder eine sehr kleine Zahl
- 0 ist die Epoch selbst. Das steht in einem leeren Datumsfeld, und in Zonen westlich von UTC erscheint es als 31. Dezember 1969. Werte innerhalb eines Monats nach der Epoch werden ebenfalls markiert, da es meist Zeitdauern oder Felder sind, die niemand ausgefüllt hat.
- Negative Zahlen
- Sie sind gültig und zählen rückwärts: -86400 ist der 31. Dezember 1969. Manche ältere Software kann sie nicht speichern.
- 2.147.483.648 und darüber
- Ein vorzeichenbehafteter 32-Bit-Integer endet bei 2.147.483.647, also am 19. Januar 2038 um 03:14:07 UTC. Eine Sekunde später springt so ein Zähler auf Dezember 1901 um. Systeme, die die Zeit noch in 32 Bit führen, haben bis dahin Zeit, auf 64 umzustellen.
- -1
- Oft das, was eine Funktion zurückgibt, wenn sie ein Datum nicht lesen konnte.
Vom Datum zurück zur Zahl
Der umgekehrte Weg braucht eine Angabe mehr, nämlich die Zone, in der das Datum geschrieben wurde. „9. März 2025 um 14:30“ ist in Chicago ein anderer Augenblick als in Berlin, sechs Stunden auseinander. Die Felder für Datum und Uhrzeit werden in der gewählten Zone gelesen. Ein Text wie 2025-03-09T14:30:00-05:00 oder einer, der auf Z endet, bringt seinen eigenen Versatz mit und wird so gelesen, wie er geschrieben ist.
Die Sommerzeit erzeugt zwei seltsame Fälle, und das Tool meldet beide:
- Eine Uhrzeit, die es nicht gibt. Springen die Uhren von 02:00 auf 03:00, hat dieser Tag kein 02:30. Der Rechner schiebt die Angabe hinter den Sprung, wie es die meiste Software tut, und sagt es Ihnen.
- Eine Uhrzeit, die es zweimal gibt. Werden die Uhren von 02:00 auf 01:00 zurückgestellt, kommt 01:30 zweimal vor, eine Stunde auseinander. Der Rechner gibt das erste zurück und nennt Ihnen auch das zweite.
Die Unix-Zeit ignoriert Schaltsekunden: Jeder Tag zählt genau 86.400 Sekunden. Die Rechnung bleibt einfach, aber ein Timestamp ist keine echte Zählung der vergangenen Sekunden. Seit 1972 liegt er um 27 daneben.
Die Zonenregeln stammen aus der Zeitzonen-Datenbank, die in Ihren Browser eingebaut ist. Für vergangene Daten spiegeln sie die heute bekannten Regeln wider, und ein Land kann seine Regeln für künftige Daten noch ändern.
Häufige Fragen
Was ist ein Unix-Timestamp?
Die Zahl der Sekunden seit dem 1. Januar 1970 um 00:00:00 UTC, ohne Schaltsekunden. Er benennt einen Augenblick mit einer einzigen Ganzzahl, die von keiner Zeitzone abhängt, und ist daher leicht zu speichern, zu vergleichen und voneinander abzuziehen.
Woran erkenne ich, ob ein Timestamp in Sekunden oder Millisekunden ist?
Zählen Sie die Stellen. Für aktuelle Daten haben Sekunden 10 Stellen und Millisekunden 13. Mikrosekunden haben 16, Nanosekunden 19. Landet Ihr Datum in 1970 oder in einem weit entfernten Jahr, wurde die Einheit falsch gelesen.
Warum wird mein Datum als 1. Januar 1970 angezeigt?
Der gespeicherte Wert ist 0 oder liegt nahe daran. Entweder wurde das Feld nie ausgefüllt, eine fehlgeschlagene Umwandlung hat 0 geliefert, oder ein Wert in Sekunden wurde als Millisekunden gelesen. Westlich von UTC erscheint derselbe Augenblick als 31. Dezember 1969.
Was ist das Jahr-2038-Problem?
Software, die die Unix-Zeit in einem vorzeichenbehafteten 32-Bit-Integer führt, kann bis 2.147.483.647 zählen, also bis zum 19. Januar 2038 um 03:14:07 UTC. Die nächste Sekunde läuft über und wird als Datum im Dezember 1901 gelesen. Die Lösung ist, die Zeit in 64 Bit zu speichern.
Hat ein Unix-Timestamp eine Zeitzone?
Nein. Er zählt Sekunden ab einem in UTC festgelegten Augenblick, dieselbe Zahl stimmt also überall. Eine Zeitzone wird erst angewendet, wenn die Zahl als Kalenderdatum und Uhrzeit angezeigt wird.
Wie bekomme ich die aktuelle Unix-Zeit im Code?
In einer Shell date +%s. In JavaScript Math.floor(Date.now() / 1000). In Python int(time.time()). In PHP time(). In SQL UNIX_TIMESTAMP() unter MySQL und EXTRACT(EPOCH FROM now()) unter PostgreSQL.