Unix-Zeitstempel-Umrechner (Epoch ⇄ Datum)
Eingaben
| Umrechnungsrichtung | Epoch → Datum |
|---|---|
| Unix-Zeitstempel | 1.784.550.784 |
| Zeitstempel-Einheit | Sekunden |
| Datum | 20. Juli 2026 |
Unix-Zeitstempel-Umrechner (Epoch ⇄ Datum)
Unix-Zeitstempel (Epoch) in UTC-Datum und ISO-8601-Format umrechnen oder ein Kalenderdatum in den entsprechenden Epoch-Wert in Sekunden und Millisekunden umwandeln.
Eingaben
Eingabe
Ergebnisse
Geben Sie einen Wert ein, um die Ergebnisse zu sehen.
Ergebnis
Unix-Zeitstempel (Epoch ⇄ Datum)
Ein Unix-Zeitstempel ist eine ganze Zahl, die die seit dem 1. Januar 1970, 00:00:00 koordinierter Weltzeit (UTC) vergangenen Sekunden zählt. Da dieser Wert zeitzonenunabhängig und kalenderunabhängig ist, hat er sich als universelles Format für die Speicherung und Übertragung von Zeitpunkten in nahezu allen Betriebssystemen, Datenbanken und Programmiersprachen durchgesetzt. Dieser Rechner wandelt einen numerischen Epoch-Wert in ein lesbares UTC-Datum um — und umgekehrt.
Herkunft des Unix-Epoch
Der Bezugspunkt 1970-01-01, 00:00:00 UTC entstammt der frühen Unix-Entwicklung bei den Bell Labs in den späten 1960er Jahren. Die Wahl dieses Datums war weitgehend willkürlich; entscheidend war lediglich, dass alle Rechner einer Anlage denselben Nullpunkt verwendeten. Durch den POSIX-Standard verbreitete sich diese Konvention und ist heute in allen gängigen Betriebssystemen und Laufzeitumgebungen fest verankert.
Ein Zeitstempel von 0 bezeichnet den Epoch-Nullpunkt selbst. Der Wert 86.400 entspricht genau einem Tag später (60 Sekunden × 60 Minuten × 24 Stunden). Negative Werte sind zulässig und bezeichnen Zeitpunkte vor dem 1. Januar 1970 — die meisten modernen Implementierungen können dabei Daten über viele Jahrhunderte in der Vergangenheit darstellen.
Sekunden und Millisekunden
Der ursprüngliche Unix-Standard zählt ganze Sekunden. Serverseitige Systeme — Protokolldateien, relationale Datenbanken, Shell-Werkzeuge — verwenden überwiegend diese sekündliche Genauigkeit. Für Daten zwischen 2001 und 2033 ergibt sich dabei ein 10-stelliger Wert.
JavaScript führte mit Date.now() und Date.getTime() eine millisekündliche Variante ein: Der zurückgegebene Wert zählt Millisekunden seit dem Epoch-Nullpunkt und hat 13 Stellen. Viele REST-Schnittstellen, Event-Streams und JavaScript-nahe Datenbanken übernehmen diese Konvention.
Als Faustregel gilt: 10 Stellen → Sekunden, 13 Stellen → Millisekunden. Werte mit elf oder zwölf Stellen liegen in einem Zwischenbereich und können Mikrosekunden oder eine nicht standardisierte Einheit bezeichnen — in diesem Fall ist die Dokumentation der Datenquelle maßgeblich. Dieser Rechner dividiert Millisekunden-Eingaben automatisch durch 1.000, sobald die entsprechende Einheit gewählt ist.
Umrechnungsverfahren
Epoch → Datum. Gegeben ein Zeitstempel in Sekunden, ergibt sich die UTC-Darstellung aus:
TageTageszeit=⌊86400t⌋=tmod86400Die Tageszahl wird anschließend anhand des proleptischen Gregorianischen Kalenders unter Berücksichtigung von Schaltjahren in ein Datum umgerechnet. Die Tageszeit wird durch aufeinanderfolgende Modulo-Division in Stunden, Minuten und Sekunden zerlegt.
Datum → Epoch. Für ein Kalenderdatum bei Mitternacht UTC wird die Anzahl der Tage seit dem 1. Januar 1970 gezählt und mit 86.400 multipliziert. Für das Datum 2024-01-01 ergibt sich beispielsweise eine Tageszahl von 19.723, woraus folgt:
Intern werden Schaltjahre und Kalendergrenzfälle durch standardkonforme Datumsbibliotheken korrekt behandelt.
Das Jahr-2038-Problem
Viele ältere Systeme speichern Unix-Zeitstempel als vorzeichenbehaftete 32-Bit-Ganzzahl. Der größtmögliche positive Wert dieser Darstellung ist 2.147.483.647 und entspricht dem 19. Januar 2038, 03:14:07 UTC. Nach diesem Zeitpunkt überläuft der Zähler auf den kleinsten negativen 32-Bit-Wert, den betroffene Systeme als 13. Dezember 1901 auslegen würden.
Moderne 64-Bit-Systeme sind nicht betroffen. Eine vorzeichenbehaftete 64-Bit-Ganzzahl kann Zeitstempel über Hunderte von Milliarden Jahren hinaus darstellen. Das Problem beschränkt sich auf ältere eingebettete Systeme, veraltete Datenbankschemas und Software, die seit Jahren nicht mehr gewartet wurde. Die meisten gängigen Betriebssysteme und Programmiersprachen haben vor 2020 auf 64-Bit-Zeitdarstellung umgestellt.
Häufige Fehlerquellen
Zeitzonen. Ein Unix-Zeitstempel zählt Sekunden ab UTC-Mitternacht des 1. Januar 1970. Eine Zeitzone ist darin nicht kodiert. Wer eine Ortszeit in einen Epoch-Wert umrechnen möchte, muss die Ortszeit zunächst in UTC umwandeln. Dieser Rechner berechnet Datumseingaben stets bezogen auf Mitternacht UTC.
Schaltsekunden. Der Unix-Epoch berücksichtigt keine Schaltsekunden — er geht von exakt 86.400 Sekunden je Tag aus. Dadurch entsprechen Unix-Zeitstempel nicht exakt der Internationalen Atomzeit (TAI). Für die meisten Softwareanwendungen ist diese Abweichung (kumuliert etwa 27 Sekunden bis 2024) ohne Bedeutung.
Ganzzahl-Überlauf in älterem Code. Auch wenn das Betriebssystem 64-Bit-Zeitdarstellung verwendet, können Drittbibliotheken, Datenbankfelder oder Serialisierungsformate Zeitstempel intern als 32-Bit-Ganzzahl ablegen. Bei der Anbindung externer Systeme empfiehlt es sich, die Speicherbreite zu prüfen, wenn Genauigkeit rund um oder nach dem Jahr 2038 erforderlich ist.
Häufig gestellte Fragen (FAQ)
Was ist ein Unix-Zeitstempel?
Ein Unix-Zeitstempel (auch POSIX-Zeitstempel oder Epoch-Wert genannt) ist eine ganze Zahl, die die seit dem 1. Januar 1970, 00:00:00 UTC vergangenen Sekunden zählt. Dieses Bezugsdatum entstammt einer Konvention aus der frühen Unix-Entwicklung bei den Bell Labs.
Da der Zeitstempel eine einzelne Ganzzahl ist, die unabhängig von Zeitzonen und Kalendersystemen gilt, verwenden nahezu alle Betriebssysteme und Programmiersprachen ihn als Standardformat für die Speicherung und Übertragung von Zeitpunkten. Für die Darstellung als lesbares Datum muss eine Zeitzone angegeben werden; dieser Rechner verwendet stets die koordinierte Weltzeit (UTC).
Sekunden oder Millisekunden — woran erkenne ich die Einheit meines Wertes?
Der klassische Unix-Zeitstempel zählt ganze Sekunden. Ein 10-stelliger Wert (etwa 1.700.000.000) ist nahezu sicher in Sekunden angegeben und entspricht einem Datum im Jahr 2023. Ein 13-stelliger Wert (etwa 1.700.000.000.000) ist nahezu sicher in Millisekunden angegeben — so wie ihn JavaScript's Date.now() und Date.getTime() sowie viele REST-Schnittstellen und Log-Systeme liefern.
Als Faustregel gilt: 10 Stellen → Sekunden, 13 Stellen → Millisekunden. Werte mit elf oder zwölf Stellen liegen in einem Zwischenbereich und könnten Mikrosekunden oder eine nicht standardisierte Einheit bezeichnen — prüfen Sie in diesem Fall die Dokumentation der Datenquelle.
Was ist das Jahr-2038-Problem?
Viele ältere Systeme speichern Unix-Zeitstempel als vorzeichenbehaftete 32-Bit-Ganzzahl, die Werte zwischen −2.147.483.648 und 2.147.483.647 aufnehmen kann. Der größtmögliche Wert entspricht dem 19. Januar 2038, 03:14:07 UTC. Danach läuft der Zähler auf den kleinsten negativen 32-Bit-Wert über, was diese Systeme veranlasst, das Datum als 13. Dezember 1901 zu interpretieren.
Moderne Systeme verwenden 64-Bit-Ganzzahlen, die Zeitpunkte über Hunderte von Milliarden Jahren hinaus darstellen können. Das Jahr-2038-Problem betrifft daher ausschließlich ältere eingebettete Systeme, veraltete Datenbanken und nicht aktualisierte Software. Die meisten gängigen Betriebssysteme und Programmiersprachen haben vor 2020 auf 64-Bit-Zeitdarstellung umgestellt.