Converti un timestamp Unix in data, e viceversa

Ultima revisione dei contenuti:

Un numero di dieci cifre in un log o in un JWT e nessuno sa a quando si riferisce? Incollalo qui: la data leggibile compare subito, in UTC, senza installare niente e senza registrarti.

s
in

Che cos’è un timestamp Unix?

Il timestamp Unix, detto anche tempo epoch, conta i secondi trascorsi dal 1° gennaio 1970 alle 00:00:00 UTC. È così che le macchine memorizzano una data come un unico numero intero.

Il valore 1 700 000 000 corrisponde al 14 novembre 2023 alle 22:13:20 UTC. Il timestamp di oggi si aggira sul miliardo e 790 milioni e cresce di uno ogni secondo.

Lo si trova nei database, nelle API, nei log dei server e nei token JWT. Non dipende da alcun fuso orario: lo stesso numero indica lo stesso istante in tutto il mondo.

Da qui nasce il problema dell’anno 2038: un timestamp salvato su 32 bit con segno raggiunge il valore massimo il 19 gennaio 2038. I sistemi attuali lo salvano su 64 bit.

Come funziona la conversione?

Convertire significa contare quanti giorni, ore, minuti e secondi stanno nel numero di secondi passati dall’epoca. Il risultato è espresso in UTC, la stessa base del timestamp.

Per l’ora italiana aggiungi un’ora in inverno e due in estate: l’Italia è a UTC+1 con l’ora solare e a UTC+2 con l’ora legale. In JavaScript ci pensa Intl.DateTimeFormat con timeZone: "Europe/Rome".

Attenzione all’unità: JavaScript conta millisecondi, non secondi. Date.now() restituisce quindi un numero mille volte più grande di un timestamp Unix e va diviso per 1000.

Timestamp Unix e data leggibile: che cosa cambia

Timestamp UnixData e ora
FormatoNumero interoAAAA-MM-GG HH:MM:SS
Fuso orarioSempre UTCDipende dal luogo
Intervallo a 32 bit0 – 2 147 483 6471970–2038
Intervallo a 64 bitPraticamente illimitatoMiliardi di anni
OrdinamentoNaturale, sono numeriRichiede di analizzare il testo

Come usare il convertitore?

  1. 1. Inserisci un valore

    Digita un timestamp in secondi. Il convertitore scarta la parte decimale, quindi dividi prima i millisecondi per 1000.
  2. 2. Leggi il risultato

    La data compare subito nel campo accanto, in UTC e nella forma 2023-11-14 22:13:20, senza premere alcun pulsante.
  3. 3. Copia o inverti il senso

    Premi Copia risultato oppure il pulsante Inverti ordine per inserire una data e ottenerne il timestamp.

Quando serve questo convertitore?

  1. Database e colonne di data

    Le colonne created_at, updated_at e deleted_at contengono spesso un timestamp invece di una data leggibile, che si tratti di PostgreSQL, MySQL o SQLite. Mentre si esegue il debug di una migrazione in Symfony o Laravel, il convertitore restituisce senso alla riga senza lanciare una query.
  2. API e token JWT

    Un token JWT porta i campi exp e iat, la scadenza e il momento di emissione, entrambi come timestamp Unix. Il convertitore dice in un secondo se il token è ancora valido e quando è stato rilasciato.
  3. Log del server e job cron

    Apache, Nginx e syslog datano ogni riga. Un job cron su un server gira quasi sempre in UTC: il convertitore dà l’ora UTC dell’errore, a cui va aggiunto lo scarto italiano per confrontarla con l’orario di ufficio.
  4. Debug e oggetti Date in JavaScript

    Date.now() restituisce millisecondi, circa 1 788 000 000 000 a settembre 2026. Dividere per 1000 e arrotondare per difetto dà il timestamp Unix. Il convertitore serve poi a confrontare valori di fonti diverse e a scovare disallineamenti dell’orologio.

Valori da tenere a portata di mano

  • L’epoca Unix comincia il 1° gennaio 1970 alle 00:00:00 UTC: è il timestamp 0.
  • Il limite a 32 bit, 2 147 483 647, cade il 19 gennaio 2038 alle 03:14:07 UTC.
  • In JavaScript Date.now() restituisce millisecondi, non secondi.
  • Un timestamp negativo indica una data anteriore al 1970: -1 è il 31 dicembre 1969 alle 23:59:59 UTC.

Ultima revisione dei contenuti: · scritto e verificato dal team Arteon

Domande frequenti

Cos’è l’epoca Unix?

Il 1° gennaio 1970 alle 00:00:00 UTC. Tutti i timestamp sono misurati da questo punto.

Cos’è il problema dell’anno 2038?

I timestamp a 32 bit con segno traboccano il 19 gennaio 2038 alle 03:14:07 UTC. I sistemi moderni usano 64 bit.

I calcoli vengono eseguiti localmente?

Sì. Tutti i calcoli vengono eseguiti nel tuo browser.

Qual è il timestamp Unix attuale?

A settembre 2026 si aggira su 1 788 000 000 e cresce di uno ogni secondo. Per il valore esatto digita la data di oggi nel convertitore oppure esegui Math.floor(Date.now() / 1000) nella console del browser.

Come passo dal risultato all’ora italiana?

Il convertitore mostra l’ora UTC. L’Italia è a UTC+1 con l’ora solare e a UTC+2 con l’ora legale, quindi vanno aggiunte una o due ore. In JavaScript, Intl.DateTimeFormat con timeZone: "Europe/Rome" applica lo scarto da solo.

Che differenza c’è tra timestamp Unix e JavaScript?

Il timestamp Unix conta secondi, JavaScript millisecondi. Per questo 1700000000 diventa 1700000000000 in JavaScript. Dividere per 1000 e applicare Math.floor riporta all’uno dall’altro.

Che cos’è il problema dell’anno 2038?

Un timestamp salvato su 32 bit con segno raggiunge il valore massimo, 2 147 483 647, il 19 gennaio 2038 alle 03:14:07 UTC. Da lì in poi i sistemi vecchi passano in negativo e finiscono nel 1901. I sistemi a 64 bit non hanno questo limite.

Come ottengo un timestamp in JavaScript, PHP o SQL?

In JavaScript Math.floor(Date.now() / 1000), in PHP time(), in Python int(time.time()). In SQL danno lo stesso valore UNIX_TIMESTAMP() su MySQL ed EXTRACT(EPOCH FROM NOW()) su PostgreSQL.

Un timestamp può essere negativo?

Sì. I valori negativi indicano date precedenti al 1° gennaio 1970: -86400 è il 31 dicembre 1969 alle 00:00:00 UTC. Quasi tutti i linguaggi e i database li accettano senza problemi.

Screenshot dello strumento gratuito Arteon: Converti un timestamp Unix in data, e viceversa

Aiutaci a migliorare i nostri strumenti

Hai un’idea, trovato un bug o vuoi suggerire una funzionalità? Scrivici – rispondiamo entro 24 ore.