Cos'è il tempo Unix
Il tempo Unix (o epoch time, tempo POSIX) conta i secondi trascorsi dal 1° gennaio 1970, 00:00:00 UTC. Il valore 1700000000 indica quindi il 14 novembre 2023, 22:13:20 UTC. Non conta i secondi intercalari: ogni giorno ha esattamente 86.400 secondi.
Un timestamp non contiene un fuso orario. A Berlino, Tokyo e New York indica lo stesso istante; solo la visualizzazione lo converte in ora locale. Per questo è un formato robusto per log, database, token e API. I valori precedenti al 1970 sono negativi: -1 è il 31 dicembre 1969, 23:59:59 UTC.
Secondi, millisecondi, microsecondi e nanosecondi
Lo stesso istante viene salvato con risoluzioni diverse, che si riconoscono dal numero di cifre. Per istanti attuali:
- 10 cifre: secondi, ad es.
date +%s, PHPtime(), campi JWT comeexpeiat. - 13 cifre: millisecondi, ad es. JavaScript
Date.now()e JavaSystem.currentTimeMillis(). - 16 cifre: microsecondi, ad es. in alcuni database e Go
UnixMicro(). - 19 cifre: nanosecondi, ad es. Go
UnixNano()o Pythontime.time_ns().
Questo strumento deduce l'unità dalla grandezza del numero: sotto 1011 assume secondi, fino a 1014 millisecondi, fino a 1017 microsecondi, oltre nanosecondi. Con valori piccoli non è detto che sia giusto: 86400000 può essere un giorno in millisecondi oppure l'anno 1972 in secondi. In quel caso scegli l'unità a mano. Un risultato molto nel futuro o poco dopo il 1970 di solito indica l'unità sbagliata.
Il problema del 2038 e i fusi orari
Un intero a 32 bit con segno arriva a 2147483647, cioè al 19 gennaio 2038, 03:14:07 UTC. Un secondo dopo va in overflow e torna a dicembre 1901. Sono a rischio vecchi dispositivi embedded, programmi a 32 bit con time_t e formati di dati con campi orari a 32 bit. Anche le colonne TIMESTAMP di MySQL finiscono a quella data; DATETIME non ha il problema. Senza segno, 32 bit arrivano al 2106.
Per i fusi orari vale la regola: il timestamp è sempre UTC, solo input e visualizzazione dipendono da un fuso. Un orario senza fuso è quindi ambiguo; quando le lancette tornano indietro un'ora capita due volte, quando vanno avanti un'ora non esiste. Lo strumento segnala entrambi i casi. Salva e trasmetti gli orari in UTC (o con un offset come +01:00) e converti solo per la visualizzazione.
Comandi per admin e domande frequenti
Sotto il convertitore trovi comandi pronti da copiare, per il valore corrente e per «adesso»:
- Linux:
date +%sper adesso,date -u -d @1700000000per convertire. macOS/BSD:date -u -r 1700000000. - PowerShell:
[DateTimeOffset]::FromUnixTimeSeconds(1700000000). Python:datetime.fromtimestamp(ts, timezone.utc). JavaScript:new Date(ts * 1000). - MySQL:
FROM_UNIXTIME(ts)(nel fuso orario della sessione). PostgreSQL:to_timestamp(ts).
Perché il mio log mostra un'ora diversa? Di solito è lo stesso istante in un altro fuso; confronta la riga «ISO 8601 (UTC)» con l'ora locale. Il tempo Unix conta i secondi intercalari? No, vengono saltati, per questo ogni giorno ha 86.400 secondi. Che cos'è la settimana ISO? La settimana inizia di lunedì e la settimana 1 è quella con il primo giovedì dell'anno. Per questo il 1° gennaio 2027 appartiene ancora alla settimana 2026-W53. Posso incollare qui i valori senza problemi? Sì, non viene inviato né salvato nulla.
Privacy
Gira interamente nel tuo browser; non viene inviato né salvato nulla.