EpochConvert
Tempo Unix (secondi)
Tempo Unix (millisecondi)
Ora UTC

Convertitore Timestamp Unix

Converti timestamp epoch in date leggibili — o qualsiasi data nel suo timestamp Unix. Orologio in diretta, snippet in 8 linguaggi, convertitore batch.

Epoch → Data leggibile
Data leggibile → Epoch
Snippet di codice
Convertitore batch

Incolla più timestamp (uno per riga). Supporta secondi e millisecondi mescolati.

Cos'è un timestamp Unix?

Un timestamp Unix — noto anche come epoch time, POSIX time o Unix time — è il numero di secondi trascorsi dall'epoca Unix: il 1° gennaio 1970 alle 00:00:00 Coordinated Universal Time (UTC). È un concetto fondamentale nell'informatica, usato per rappresentare istanti temporali in un formato indipendente dai fusi orari, dai linguaggi e perfettamente adatto alle operazioni aritmetiche.

Perché i secondi dal 1970?

L'epoca Unix fu scelta dai primi sviluppatori Unix all'inizio degli anni Settanta come punto di riferimento. Sebbene la scelta fosse in parte arbitraria, il 1970 era vicino al periodo in cui Unix veniva sviluppato e forniva numeri tondi per i timestamp dell'epoca. Il formato è diventato uno standard globale grazie all'influenza di Unix su tutti i sistemi operativi successivi.

Secondi vs millisecondi

La specifica Unix originale usa i secondi, ma i moderni linguaggi di programmazione e le API usano spesso i millisecondi per maggiore precisione. Un modo rapido per distinguerli: un numero a 10 cifre è in secondi (es. 1718000000); un numero a 13 cifre è in millisecondi (es. 1718000000000). Questo convertitore rileva il formato automaticamente.

Il problema dell'anno 2038

Gli interi con segno a 32 bit possono memorizzare un valore massimo di 2.147.483.647, corrispondente al 19 gennaio 2038 alle 03:14:07 UTC. I sistemi che memorizzano i timestamp Unix come interi con segno a 32 bit andranno in overflow in quella data, tornando a un grande numero negativo. I moderni sistemi a 64 bit possono rappresentare timestamp fino all'anno 292.277.026.596 circa, quindi questo è un problema solo per i sistemi embedded legacy e il software meno recente non ancora aggiornato all'archiviazione a 64 bit.

Domande Frequenti

  • Un timestamp Unix (chiamato anche epoch time) è il numero di secondi trascorsi dal 1° gennaio 1970 00:00:00 UTC. È un modo universale e indipendente dai fusi orari per rappresentare un momento nel tempo, usato in praticamente tutti i linguaggi di programmazione e sistemi operativi.
  • Un timestamp a 10 cifre è in secondi (es. 1718000000 = giugno 2024). Un timestamp a 13 cifre è in millisecondi (es. 1718000000000). Questo convertitore rileva automaticamente il formato in base al numero di cifre e alla grandezza del valore.
  • Il timestamp Unix del 1° gennaio 2000 alle 00:00:00 UTC è 946684800.
  • Il 19 gennaio 2038 alle 03:14:07 UTC, i timestamp Unix su interi con segno a 32 bit andranno in overflow dal valore massimo (2.147.483.647) a un numero negativo. I moderni sistemi a 64 bit non sono interessati, ma i sistemi embedded e il software legacy potrebbero richiedere aggiornamenti.
  • ISO 8601 è uno standard internazionale per la rappresentazione di date e orari. Un timestamp tipico appare come 2024-06-10T14:30:00Z (Z significa UTC) o 2024-06-10T14:30:00+05:30 (con offset UTC). È raccomandato per le API e lo scambio di dati.
  • Usa Math.floor(Date.now() / 1000) per i secondi, o Date.now() per i millisecondi. Puoi anche usare new Date().getTime() che restituisce i millisecondi.