Wer mit APIs, Logfiles oder Datenbanken arbeitet, begegnet ihm staendig: dem Unix-Timestamp. Eine scheinbar kryptische Zahl wie 1747008000 enthaelt einen vollstaendigen Zeitpunkt, codiert in einer einzigen Ganzzahl. Dieser Artikel erklaert, was dahintersteckt, wie du die Differenz zwischen zwei Zeitstempeln berechnest und welche Fehlerquellen du kennen solltest.
Was ist ein Unix-Timestamp?
Ein Unix-Timestamp, auch Unix-Zeit oder Epoch-Time genannt, gibt die Anzahl der Sekunden an, die seit dem 1. Januar 1970, 00:00:00 Uhr UTC vergangen sind. Dieser Nullpunkt heisst Unix-Epoch. Eine einzige Zahl genuegt damit, um jeden Zeitpunkt eindeutig und zeitzonenunabhaengig zu beschreiben. Genau das macht Timestamps so beliebt: Sie sind sprachenuebergreifend, leicht zu speichern und einfach zu vergleichen.
Wichtig ist die Einheit. Klassische Unix-Timestamps zaehlen Sekunden und haben heute zehn Stellen. JavaScript und viele moderne APIs arbeiten dagegen in Millisekunden (dreizehn Stellen). Verwechselst du beides, liegst du um den Faktor 1000 daneben, also um Jahrtausende oder Sekundenbruchteile.
Die Differenz zwischen zwei Timestamps
Die Berechnung der Zeitspanne ist erfrischend simpel, weil Timestamps reine Zahlen sind. Du ziehst den kleineren vom groesseren Wert ab:
- Differenz in Sekunden = Timestamp 2 − Timestamp 1
- Minuten = Differenz / 60
- Stunden = Differenz / 3600
- Tage = Differenz / 86400
Beispiel: Liegen zwischen zwei Log-Eintraegen die Timestamps 1747008000 und 1747094400, betraegt die Differenz 86400 Sekunden, also genau einen Tag. Statt diese Umrechnungen von Hand zu machen, gibst du beide Werte in den Timestamp Differenz Rechner ein und erhaeltst die Spanne sofort in Sekunden, Minuten, Stunden und Tagen. Das spart Tippfehler und das muehsame Kopfrechnen mit 86400.
Typische Stolperfallen
So robust das Konzept ist, in der Praxis gibt es ein paar Klassiker, die man kennen sollte:
- Sekunden vs. Millisekunden: Vergleiche niemals einen Sekunden-Timestamp mit einem Millisekunden-Timestamp. Pruefe die Stellenzahl: zehn Stellen sind in der Regel Sekunden, dreizehn Stellen Millisekunden.
- Zeitzonen: Der Timestamp selbst ist immer UTC. Erst bei der Anzeige als Datum kommt die lokale Zeitzone ins Spiel. Die Differenz zweier Timestamps ist davon unberuehrt, sie ist immer korrekt, egal in welcher Zone du sitzt.
- Sommer- und Winterzeit: Weil Timestamps in UTC laufen, verschiebt eine Zeitumstellung den Wert nicht. Genau deshalb sind sie fuer Differenzen zuverlaessiger als lokale Datumsangaben.
- Das Jahr-2038-Problem: Auf 32-Bit-Systemen laeuft der Sekundenzaehler am 19. Januar 2038 ueber. Moderne 64-Bit-Systeme haben dieses Problem nicht.
Wo Timestamps im Alltag auftauchen
Du findest Unix-Timestamps in JSON-Antworten von APIs (etwa als created_at oder exp in JWT-Tokens), in Datenbankspalten, in Server-Logs und in Dateisystem-Metadaten. Beim Debuggen ist die Differenz zwischen zwei Eintraegen oft die schnellste Antwort auf die Frage, wie lange ein Vorgang gedauert hat oder ob ein Cache abgelaufen ist.
Fuer verwandte Aufgaben rund um Datum und Zeit lohnt ein Blick auf den Datumsrechner, mit dem du Tage zu einem Datum addierst oder abziehst. Diese und viele weitere Developer-Helfer findest du gebuendelt unter kotsch.tech/webtools.
Fazit
Der Unix-Timestamp ist eine der elegantesten Ideen der IT: ein Zeitpunkt als simple Zahl, unabhaengig von Zeitzone und Sprache. Differenzen berechnest du durch reine Subtraktion und Division durch 60, 3600 oder 86400. Die wichtigste Regel im Alltag bleibt, Sekunden und Millisekunden sauber auseinanderzuhalten. Wer das beachtet, hat mit Zeitstempeln ein praezises und zuverlaessiges Werkzeug an der Hand.