Convertitore da GPS a timestamp Unix
Converti GPS in tempo Unix con la formula esatta e supporto per valori grandi. Output in secondi, millisecondi, ISO 8601 e formato leggibile.
secondi dal 06-01-1980, senza secondi intercalari
Che cos'è il tempo GPS?
Il tempo GPS è una scala temporale continua iniziata alle 00:00:00 UTC del 6 gennaio 1980 e, a differenza di UTC, non inserisce mai secondi intercalari. Di conseguenza il tempo GPS è andato avanti rispetto a UTC; dal 2017 la differenza è di 18 secondi e rimane fissa fino all'annuncio del prossimo secondo intercalare.
- Epoca: 1980-01-06 00:00:00 UTC
- Nessun secondo intercalare — il GPS è un conteggio continuo di secondi SI
- GPS − UTC = 18 secondi (attuale, dal 2017-01-01)
- Spesso espresso come numero di settimana GPS + secondi nella settimana
Come convertire il tempo GPS in un timestamp Unix
Ci sono 315.964.800 secondi tra l'epoca Unix (1970) e l'epoca GPS (1980). Aggiungi quell'offset, poi sottrai l'attuale differenza di secondi intercalari così il risultato cade su UTC.
- Unix seconds = GPS + 315964800 − 18
- Esempio: 1384035218 → 1700000000 → 2023-11-14 22:13:20 UTC
- Inverso: GPS = Unix seconds − 315964800 + 18
- Questo convertitore applica l'attuale offset di 18 secondi
Secondi intercalari e accuratezza
L'offset dei secondi intercalari non è costante nella storia: era 0 nel 1980 ed è cresciuto a 18. Convertire un tempo GPS, ad esempio, del 2005 (quando l'offset era 13) con l'odierno valore di 18 secondi introduce un piccolo errore. Per lavori storici ad alta accuratezza, applica il conteggio dei secondi intercalari in vigore a quel tempo GPS. Per le conversioni odierne l'offset di 18 secondi è corretto.
- Storia dell'offset: 0 s (1980) → 13 s (2006) → 16 s (2012) → 17 s (2015) → 18 s (2017)
- I rollover della settimana GPS (1024 settimane) possono confondere anche il parsing basato sulle settimane
- I ricevitori di solito emettono già UTC; il tempo GPS grezzo compare principalmente nei dati RINEX e di effemeridi
Convertitori di formato timestamp correlati
Numeri di settimana GPS e storia dei secondi intercalari
Due cose colpiscono gli sviluppatori che lavorano con il tempo GPS grezzo:
- Rollover della settimana GPS: il campo del numero di settimana GPS è di 10 bit (1024 settimane ≈ 19,7 anni). È andato in rollover il 2019-04-06; il prossimo è nel 2038-11
- Storia dei secondi intercalari: GPS−UTC era 0 nel 1980, 13 nel 2006, 16 nel 2012, 17 nel 2015 e 18 dal 2017-01-01. Cablare 18 funziona solo per date recenti
- Il TAI (Tempo Atomico Internazionale) è avanti rispetto a UTC di 37 secondi (i 18 secondi intercalari GPS più 19 aggiustamenti storici)
- Le date di intestazione RINEX (Receiver Independent Exchange Format) sono in tempo GPS, non UTC
- I segnali PPS (pulse-per-second) dei ricevitori si allineano ai secondi GPS, non ai secondi UTC
FAQ
- Cos'è l'epoch GPS?
- Il tempo GPS inizia alle 00:00:00 UTC del 6 gennaio 1980.
- Perché il tempo GPS è in anticipo sull'UTC?
- Il tempo GPS non include i secondi intercalari, mentre l'UTC sì. Dal 1980 sono stati aggiunti 18 secondi intercalari all'UTC, quindi il GPS è attualmente 18 secondi in anticipo.
- Come converto il tempo GPS in tempo Unix?
- Aggiungi 315.964.800 secondi (il divario 1970 → 1980) e sottrai l'attuale offset di 18 secondi intercalari per ottenere un timestamp Unix in UTC.