Convertitore da NTP a timestamp Unix
Converti NTP in tempo Unix con la formula esatta e supporto per valori grandi. Output in secondi, millisecondi, ISO 8601 e formato leggibile.
secondi dal 01-01-1900 UTC
Che cos'è un timestamp NTP?
Il Network Time Protocol conta il tempo dal 1° gennaio 1900 00:00:00 UTC. Il classico timestamp NTP a 64 bit si divide in un conteggio di secondi a 32 bit e una frazione di secondo a 32 bit. Questo convertitore lavora con il campo dei secondi interi (il valore più comune da convertire).
- Epoca: 1900-01-01 00:00:00 UTC
- Formato: 32 bit di secondi + 32 bit di frazione di secondo (≈ 233 picosecondi di risoluzione)
- Un valore attuale è circa 3,9 × 10^9
- Si trova in: pacchetti NTP/SNTP, RADIUS, alcuni formati di log e telemetria
Come convertire NTP in un timestamp Unix
Ci sono 2.208.988.800 secondi tra il 1900 e il 1970. Sottrai questa costante dal campo dei secondi NTP per ottenere i secondi Unix.
- Unix seconds = NTP − 2208988800
- Esempio: 3908988800 → 1700000000 → 2023-11-14 22:13:20 UTC
- Inverso: NTP = Unix seconds + 2208988800
- Il campo di frazione a 32 bit ÷ 2^32 dà la parte sotto il secondo
Le ere NTP e il rollover del 2036
Un campo di secondi a 32 bit va in overflow circa ogni 136 anni. La prima era NTP termina il 7 febbraio 2036, dopodiché il contatore dei secondi torna a zero e un «numero d'era» deve essere tracciato separatamente. Sottrarre alla cieca 2.208.988.800 funziona solo entro l'era 0; per i timestamp successivi al rollover del 2036 devi aggiungere 2^32 secondi per era. Per le date odierne la semplice sottrazione è corretta.
- L'era 0 copre dal 1900 al 2036-02-07
- Dopo il rollover, aggiungi 4294967296 × eraNumber prima di sottrarre l'offset
- I timestamp NTP sono UTC e non codificano i secondi intercalari nel campo dei secondi
Convertitori di formato timestamp correlati
Protocolli di tempo adiacenti
NTP è il più comune, ma l'ecosistema circostante include:
- SNTP: NTP semplice, stesso formato sul filo, minore precisione e nessuna disciplina dell'orologio
- PTP (IEEE 1588): protocollo a precisione nanosecondo usato in finanza e broadcasting — formato sul filo diverso, concetto di epoca simile
- L'hardware di stratum 0 (orologi atomici, ricevitori GPS) alimenta i server di stratum 1, che poi servono i client
- I timestamp NTP sono incorporati in protocolli come RADIUS Accounting (Event-Timestamp) e molte implementazioni IPsec
- Per la gestione dei secondi intercalari UTC, NTP usa flag di bit nel campo leap indicator; il campo dei secondi stesso non salta
FAQ
- Cos'è l'epoch NTP?
- NTP conta i secondi dal 1° gennaio 1900 00:00:00 UTC.
- Come converto il tempo NTP in tempo Unix?
- Sottrai 2.208.988.800 secondi dal valore in secondi NTP per ottenere un timestamp Unix.
- Cosa succede a NTP nel 2036?
- Il contatore di secondi a 32 bit va in overflow il 7 febbraio 2036 e torna a zero, iniziando l'era NTP 1. I convertitori devono tracciare il numero di era per interpretare correttamente i timestamp successivi.