Cos’è il tempo Unix
Il tempo Unix conta i secondi dall’epoch, le 00:00:00 UTC del 1º gennaio 1970, ignorando i secondi intercalari. È un unico intero senza fuso orario, il che lo rende il modo più semplice di memorizzare e confrontare istanti nel tempo: 1.700.000.000 è lo stesso istante ovunque sulla Terra. Convertirlo in una data di calendario è dove entrano in gioco i fusi orari, ed è quello che fa questo strumento.
Secondi, millisecondi e oltre
Sistemi diversi contano in unità diverse. La shell (date +%s), time() di PHP, time.time() di Python e i claim JWT usano i secondi. Date.now() di JavaScript e System.currentTimeMillis() di Java usano i millisecondi. Database e sistemi di tracing a volte usano microsecondi o nanosecondi. Il convertitore indovina l’unità dal numero di cifre: 10 cifre sono secondi (fino all’anno 2286), 13 millisecondi, 16 microsecondi, 19 nanosecondi.
Il problema dell’anno 2038
Un intero a 32 bit con segno va in overflow a 2.147.483.647, cioè le 03:14:07 UTC del 19 gennaio 2038. I sistemi che memorizzano ancora il tempo in 32 bit torneranno al 13 dicembre 1901. Sistemi operativi e linguaggi moderni usano 64 bit, ma dispositivi embedded, vecchi formati di file e alcune colonne di database no.
Formati che incontrerai
| Formato | Esempio | Dove |
|---|---|---|
| ISO 8601 | 2026-10-18T12:30:00Z | API, JSON, log. Z significa UTC; +02:00 è un offset. |
| RFC 2822 | Sun, 18 Oct 2026 12:30:00 +0000 | Header email, Date HTTP (RFC 7231 usa GMT) |
| Secondi Unix | 1792326600 | Tutto ciò che gira su Unix |
| Settimana ISO | 2026-W42 | Pianificazione, paghe, scadenziari UE |
Domande
Come ottengo il timestamp Unix corrente?
Shell: date +%s. JavaScript: Math.floor(Date.now() / 1000). Python: int(time.time()). Go: time.Now().Unix(). PostgreSQL: extract(epoch from now()). Il valore in tempo reale è mostrato in cima a questa pagina.
Perché il mio timestamp è 1000 volte troppo grande?
È in millisecondi. JavaScript, Java e molti sistemi di logging usano i ms. Dividi per 1000, o lascia che il convertitore rilevi l’unità.
Il tempo Unix include i secondi intercalari?
No. Ogni giorno è esattamente 86.400 secondi nel tempo Unix; un secondo intercalare viene gestito ripetendo o spalmando un secondo a livello di sistema operativo. Per questo il tempo Unix non è esattamente il conteggio dei secondi SI dal 1970.
In che fuso orario è un timestamp Unix?
Nessuno; è un istante assoluto. Lo stesso numero si converte nelle 14:30 a Roma e nelle 12:30 a Londra. Scegli il fuso che vuoi nel menu a tendina.
Qual è la data massima per un timestamp a 32 bit?
19 gennaio 2038, 03:14:07 UTC (2.147.483.647 secondi). I timestamp a 64 bit bastano per circa 292 miliardi di anni.