Utilia

Convertitore di timestamp Unix

Converti timestamp Unix in secondi o millisecondi in date leggibili in ora locale, UTC e ISO 8601, e trasforma qualsiasi data in tempo epoch.

Timestamp attuale
–

Timestamp → data

Ora locale
–
UTC
–
ISO 8601
–

Data → timestamp

Secondi
–
Millisecondi
–

Come usare il convertitore di timestamp Unix

  1. Per convertire un timestamp in data, incolla un valore epoch come 1700000000 o 1700000000000. Lo strumento capisce dalla sua grandezza se è in secondi o in millisecondi.
  2. Leggi il risultato nel tuo fuso orario locale, in UTC e nel formato ISO 8601.
  3. Per la direzione opposta, inserisci una data e un’ora: lo strumento restituisce il valore epoch corrispondente sia in secondi sia in millisecondi.
  4. Dai un’occhiata al Timestamp attuale in alto, aggiornato in tempo reale, ogni volta che ti serve “adesso” come valore epoch.

Che cos’è un timestamp Unix?

Un timestamp Unix, chiamato anche tempo epoch o tempo POSIX, è il numero di secondi trascorsi dall’epoca Unix: il 1° gennaio 1970 alle 00:00:00 UTC. Per esempio, 1700000000 corrisponde al 14 novembre 2023 alle 22:13:20 UTC. Le date precedenti al 1970 sono rappresentate da numeri negativi.

I timestamp piacciono agli sviluppatori perché sono un unico numero che non dipende da fusi orari, ora legale o formati di data. Confrontare due istanti è una semplice sottrazione, e ordinare per tempo è un semplice ordinamento numerico. Li trovi nei database, nei file di log, nelle risposte delle API, nei claim JWT come exp e iat, nei metadati dei file e negli scheduler di tipo cron.

Tieni presente che il tempo Unix ignora i secondi intercalari: ogni giorno conta esattamente 86.400 secondi. Questo mantiene semplici i calcoli, ed è il motivo per cui un timestamp non è un conteggio rigoroso di ogni secondo fisico dal 1970.

Secondi o millisecondi

La fonte di confusione più frequente è l’unità di misura. I sistemi Unix tradizionali, PHP, time.time() di Python e la maggior parte dei database usano i secondi, che oggi danno un numero di 10 cifre. Date.now() di JavaScript, System.currentTimeMillis() di Java e molte API JSON usano i millisecondi, che danno un numero di 13 cifre. Interpretare i millisecondi come secondi ti porta decine di migliaia di anni nel futuro; interpretare i secondi come millisecondi ti riporta al gennaio 1970. Lo strumento guarda la grandezza del numero per scegliere automaticamente l’unità giusta e, quando converte una data, mostra entrambi i valori così puoi copiare quello che il tuo sistema si aspetta.

Ora locale, UTC e ISO 8601

Un timestamp identifica un istante preciso, ma quell’istante viene mostrato in modo diverso a seconda del fuso orario. Il risultato locale usa il fuso orario configurato sul tuo dispositivo (in Italia l’ora dell’Europa centrale, UTC+1, o l’ora legale, UTC+2), mentre UTC è il riferimento universale usato da server e log. ISO 8601, come 2023-11-14T22:13:20.000Z, è il formato testuale non ambiguo consigliato per scambiare date tra sistemi; la Z finale indica UTC.

Il problema dell’anno 2038

Molti sistemi datati memorizzano il tempo Unix come intero a 32 bit con segno, il cui valore massimo è 2.147.483.647. Questo limite viene raggiunto il 19 gennaio 2038 alle 03:14:07 UTC. Un secondo dopo, un contatore del genere va in overflow trasformandosi in un grande numero negativo e viene letto come una data del dicembre 1901. Sistemi operativi, database e linguaggi moderni sono in gran parte passati a valori di tempo a 64 bit, che spostano il limite di miliardi di anni nel futuro, ma dispositivi embedded, vecchi formati di file e vecchie colonne di database possono ancora essere coinvolti. JavaScript non ne è toccato, perché memorizza il tempo in millisecondi in un numero in virgola mobile a 64 bit.

Privacy

Tutte le conversioni avvengono nel tuo browser con le sue funzioni di data integrate. Nessun timestamp e nessuna data vengono inviati a un server.

Domande frequenti

Come capisco se il mio timestamp è in secondi o in millisecondi?

Conta le cifre. Una data attuale ha 10 cifre in secondi e 13 cifre in millisecondi. Lo strumento applica automaticamente la stessa logica, in base alla grandezza del numero.

Perché l'ora locale è diversa da UTC?

Entrambe descrivono lo stesso istante. L’ora locale applica lo scostamento del fuso orario del tuo dispositivo e le regole dell’ora legale, mentre UTC non ha scostamenti. Se condividi un orario con persone che si trovano altrove, UTC o ISO 8601 evitano equivoci.

Un timestamp Unix può essere negativo?

Sì. I valori negativi rappresentano istanti precedenti al 1° gennaio 1970 UTC. Per esempio, -86400 è il 31 dicembre 1969 alle 00:00:00 UTC.

Un timestamp Unix contiene un fuso orario?

No. Un timestamp è sempre riferito a UTC e non porta con sé alcuna informazione sul fuso orario. Il fuso conta solo quando lo mostri come data e ora di calendario.

I miei sistemi smetteranno di funzionare nel 2038?

Solo se memorizzano il tempo in un intero a 32 bit con segno. Controlla i database più vecchi, il firmware embedded e i formati di file binari. Tutto ciò che usa il tempo a 64 bit è al sicuro per il futuro prevedibile.