Wer schon einmal in einer Datenbank, einem Log oder einer API-Antwort eine Zahl wie 1700000000 gesehen hat, ist der Unix-Zeit begegnet. Diese auf den ersten Blick kryptische Zahl ist in der Softwarewelt das Standardformat für Zeitpunkte. Dieser Artikel erklärt, woher die Unix-Zeit kommt, wie sie funktioniert, welche Stolperfallen es gibt und wie du einen Timestamp in ein lesbares Datum verwandelst.
Was ist die Unix-Zeit?
Die Unix-Zeit (auch Unix-Timestamp, Epoch Time oder POSIX-Zeit genannt) zählt die Anzahl der Sekunden, die seit einem festgelegten Nullpunkt vergangen sind. Dieser Nullpunkt ist der 1. Januar 1970, 00:00:00 Uhr UTC – die sogenannte Unix-Epoche. Der Timestamp 0 entspricht also exakt diesem Moment, und jede Sekunde danach erhöht den Wert um genau 1.
Der große Vorteil: Eine einzige ganze Zahl beschreibt jeden Zeitpunkt eindeutig, ohne Tage, Monate, Jahre, Zeitzonen oder Sommer-/Winterzeit-Komplikationen. Rechner sortieren, vergleichen und speichern diese Zahl mühelos. Mit dem Unix-Zeit Rechner wandelst du so einen Timestamp in Sekundenbruchteilen in ein menschenlesbares Datum um und siehst auch die aktuelle Unix-Zeit live.
Warum 1970? Die Geschichte hinter der Epoche
Die Wahl des Jahres 1970 ist kein Zufall: Sie fällt in die Entstehungszeit des Betriebssystems Unix in den Bell Labs. Die Entwickler brauchten einen praktischen, runden Bezugspunkt in der jüngeren Vergangenheit. Der 1. Januar 1970 war nah genug, um die Zahlenwerte klein zu halten, und lag sicher vor allen Daten, die das System verarbeiten würde. Aus dieser pragmatischen Entscheidung wurde ein Quasi-Standard, der heute praktisch überall steckt – von Linux und macOS über JavaScript bis zu Datenbanken und Web-APIs.
Sekunden oder Millisekunden? Die häufigste Verwechslung
Eine klassische Fehlerquelle: Nicht jedes System verwendet Sekunden. Die ursprüngliche Unix-Zeit zählt Sekunden, aber viele moderne Umgebungen – allen voran JavaScript mit Date.now() – arbeiten mit Millisekunden (also Sekunden × 1000).
- Sekunden-Timestamp: rund 10 Stellen (z. B. 1700000000) – das aktuelle Datum.
- Millisekunden-Timestamp: rund 13 Stellen (z. B. 1700000000000).
Wenn ein Datum plötzlich im Jahr 56.000 oder im Jahr 1970 landet, hast du fast immer Sekunden und Millisekunden verwechselt. Die Faustregel: Hat die Zahl 13 Stellen, teile sie durch 1000, um auf Sekunden zu kommen.
Zeitzonen: Unix-Zeit ist immer UTC
Ein wichtiges Detail: Der Unix-Timestamp selbst kennt keine Zeitzone. Er beschreibt immer einen absoluten Moment in UTC (Koordinierte Weltzeit). Erst bei der Umwandlung in ein lesbares Datum kommt die Zeitzone ins Spiel. Derselbe Timestamp ergibt in Berlin eine andere Uhrzeit als in New York – aber es ist derselbe physikalische Augenblick.
Das macht Unix-Zeit so wertvoll für verteilte Systeme: Server auf der ganzen Welt können denselben Timestamp speichern und sich trotzdem über den exakten Zeitpunkt einig sein. Die lokale Darstellung (mit Sommerzeit, regionaler Zeitzone usw.) ist nur eine Frage der Anzeige.
Das Jahr-2038-Problem
Viele ältere Systeme speichern die Unix-Zeit in einer vorzeichenbehafteten 32-Bit-Ganzzahl. Diese kann maximal 2.147.483.647 Sekunden zählen – und dieser Wert wird am 19. Januar 2038 um 03:14:07 Uhr UTC erreicht. Eine Sekunde später läuft der Zähler über und springt rechnerisch ins Jahr 1901 zurück. Dieses sogenannte Jahr-2038-Problem ist konzeptionell mit dem Jahr-2000-Problem verwandt.
Die Lösung ist längst da: Moderne Systeme verwenden 64-Bit-Werte, die mehrere hundert Milliarden Jahre abdecken. Das Problem betrifft heute vor allem eingebettete Systeme und Legacy-Software, die noch nicht migriert wurden.
So wandelst du einen Timestamp um
Der schnellste Weg führt über ein Werkzeug: Du fügst den Timestamp ein und erhältst Datum und Uhrzeit. Umgekehrt funktioniert das ebenso – aus einem Datum wird der passende Timestamp. Mit dem Unix-Zeit Rechner geht beides direkt im Browser, ohne dass deine Eingaben an einen Server gesendet werden.
Brauchst du im Entwicklungsalltag noch weitere Helfer, findest du auf der Webtools-Übersicht passende Werkzeuge wie einen Datumsrechner, mit dem du Tage zu einem Datum addierst oder abziehst – ideal, wenn du aus einem umgerechneten Timestamp weiterrechnen willst.
Häufige Fragen
Kann die Unix-Zeit negativ sein?
Ja. Für Zeitpunkte vor dem 1. Januar 1970 werden negative Werte verwendet. Der 31. Dezember 1969 hat zum Beispiel einen Timestamp knapp unter null. In der Praxis kommen negative Timestamps aber selten vor.
Berücksichtigt die Unix-Zeit Schaltsekunden?
Im klassischen POSIX-Modell nicht. Die Unix-Zeit geht von exakt 86.400 Sekunden pro Tag aus und ignoriert die gelegentlich eingeschobenen Schaltsekunden. Für die meisten Anwendungen ist diese Vereinfachung unproblematisch.
Warum sehe ich in Logs manchmal Nachkommastellen?
Manche Systeme hängen Mikro- oder Nanosekunden als Nachkommastellen an die Sekundenzahl an, um eine höhere Auflösung zu erreichen. Der ganzzahlige Teil bleibt die normale Unix-Zeit in Sekunden.