GPS zu Unix-Timestamp-Konverter
Wandle GPS in Unix-Zeit um — mit exakter Formel und Unterstützung großer Werte. Ausgabe in Sekunden, Millisekunden, ISO 8601 und lesbarem Format.
Sekunden seit 06.01.1980, keine Schaltsekunden
Was ist GPS-Zeit?
Die GPS-Zeit ist eine kontinuierliche Zeitskala, die am 6. Januar 1980 um 00:00:00 UTC begann und — anders als UTC — nie Schaltsekunden einfügt. Dadurch ist die GPS-Zeit der UTC vorausgeeilt; seit 2017 beträgt der Unterschied 18 Sekunden und bleibt fest, bis die nächste Schaltsekunde angekündigt wird.
- Epoche: 1980-01-06 00:00:00 UTC
- Keine Schaltsekunden — GPS ist eine kontinuierliche Zählung von SI-Sekunden
- GPS − UTC = 18 Sekunden (aktuell, seit 2017-01-01)
- Oft ausgedrückt als GPS-Wochennummer + Sekunden-in-der-Woche
GPS-Zeit in einen Unix-Zeitstempel umwandeln
Zwischen der Unix-Epoche (1970) und der GPS-Epoche (1980) liegen 315.964.800 Sekunden. Addiere diesen Versatz und ziehe dann die aktuelle Schaltsekunden-Differenz ab, damit das Ergebnis auf UTC landet.
- Unix seconds = GPS + 315964800 − 18
- Beispiel: 1384035218 → 1700000000 → 2023-11-14 22:13:20 UTC
- Umgekehrt: GPS = Unix seconds − 315964800 + 18
- Dieser Konverter wendet den aktuellen Versatz von 18 Sekunden an
Schaltsekunden und Genauigkeit
Der Schaltsekunden-Versatz ist über die Geschichte nicht konstant: 1980 war er 0 und ist auf 18 angewachsen. Eine GPS-Zeit etwa aus 2005 (als der Versatz 13 betrug) mit dem heutigen 18-Sekunden-Wert umzurechnen, führt zu einem kleinen Fehler. Für hochgenaue historische Arbeit wende die Schaltsekundenzahl an, die zu jener GPS-Zeit galt. Für heutige Umrechnungen ist der 18-Sekunden-Versatz korrekt.
- Versatz-Historie: 0 s (1980) → 13 s (2006) → 16 s (2012) → 17 s (2015) → 18 s (2017)
- GPS-Wochen-Überläufe (1024 Wochen) können das wochenbasierte Parsing ebenfalls verwirren
- Empfänger geben meist bereits UTC aus; rohe GPS-Zeit erscheint hauptsächlich in RINEX- und Ephemeriden-Daten
Verwandte Zeitstempelformat-Konverter
GPS-Wochennummern und Schaltsekunden-Historie
Zwei Dinge bereiten Entwicklern bei roher GPS-Zeit Probleme:
- GPS-Wochen-Überlauf: das GPS-Wochennummer-Feld ist 10 Bit (1024 Wochen ≈ 19,7 Jahre). Es lief am 2019-04-06 über; der nächste Überlauf ist 2038-11
- Schaltsekunden-Historie: GPS−UTC war 0 (1980), 13 (2006), 16 (2012), 17 (2015) und 18 seit 2017-01-01. Eine fest verdrahtete 18 funktioniert nur für jüngere Daten
- TAI (Internationale Atomzeit) ist der UTC um 37 Sekunden voraus (die 18 GPS-Schaltsekunden plus 19 historische Anpassungen)
- RINEX-Header-Daten (Receiver Independent Exchange Format) sind GPS-Zeit, nicht UTC
- PPS-Signale (Pulse-per-Second) von Empfängern richten sich an GPS-Sekunden aus, nicht an UTC-Sekunden
FAQ
- Was ist die GPS-Epoch?
- Die GPS-Zeit beginnt um 00:00:00 UTC am 6. Januar 1980.
- Warum ist die GPS-Zeit der UTC voraus?
- Die GPS-Zeit enthält keine Schaltsekunden, die UTC schon. Seit 1980 wurden der UTC 18 Schaltsekunden hinzugefügt, sodass GPS derzeit 18 Sekunden voraus ist.
- Wie wandle ich GPS-Zeit in Unix-Zeit um?
- Addiere 315.964.800 Sekunden (die Lücke von 1970 → 1980) und ziehe den aktuellen 18-Sekunden-Schaltsekunden-Versatz ab, um einen UTC-Unix-Zeitstempel zu erhalten.