Skip to main content
FastCalc

Millisecondi in data

Converti i millisecondi in una data leggibile. Inserisci il timestamp in millisecondi (es. 1704067200000).

Calcolato nel tuo browser. Nulla di ciò che inserisci viene inviato.

Sommare esattamente 24 ore in millisecondi ti porta alle 13:00, non alle 12:00

Un giorno è 86.400.000 millisecondi, tranne nei due giorni all'anno in cui non lo è. Sommalo a mezzogiorno del cambio d'ora di primavera e l'orologio segna le 13:00; fallo in autunno e segna le 11:00. L'aritmetica è corretta: un giorno di calendario e 24 ore sono semplicemente cose diverse due volte l'anno.

Come funziona

  • Converte marche temporali in millisecondi in date e viceversa, in UTC e in ora locale.
  • Mostra la scomposizione in unità, dato che i valori in millisecondi sono difficili da leggere a colpo d'occhio.
  • Segnala il limite oltre il quale una Date smette di essere valida, un guasto che avviene in silenzio e non con clamore.
1 secondo = 1.000 ms      1 ora   = 3.600.000 ms
1 minuto = 60.000 ms      1 giorno = 86.400.000 ms

intervallo di Date in JavaScript = ±8.640.000.000.000.000 ms
  → +275760-09-13 e −271821-04-20

un millisecondo oltre → Invalid Date

Esempio pratico

Sommare un giorno in millisecondi a ciascun cambio d'ora, più il limite dell'intervallo.

  1. inizio 28 marzo 2026, 12:00 — somma 86.400.000 ms → 29 marzo, 13:00
  2. inizio 24 ottobre 2026, 12:00 — somma 86.400.000 ms → 25 ottobre, 11:00
  3. 8.640.000.000.000.000 ms → +275760-09-13, il massimo
  4. un millisecondo in più → Invalid Date
  5. quella Invalid Date resta un oggetto, e getTime() restituisce NaN

Nessuno dei due cambi ti riporta alle 12:00, perché il giorno di calendario è durato 23 o 25 ore. E il guasto sull'intervallo è peggiore di un'eccezione: Invalid Date supera instanceof Date, quindi prosegue e trasforma in NaN ogni calcolo successivo.

Come leggere il risultato

  • Usa l'aritmetica di calendario quando intendi «domani alla stessa ora» e quella in millisecondi quando intendi «fra 24 ore». Coincidono per 363 giorni all'anno, ed è esattamente per questo che la discrepanza viene colta così di rado nei test.
  • Invalid Date è la modalità di guasto pericolosa proprio perché non è un errore. È un oggetto Date il cui getTime() vale NaN, e NaN si propaga in silenzio attraverso ogni operazione successiva finché qualcosa molto più a valle non compare vuoto o a zero.
  • Il limite dell'intervallo è ±100.000.000 giorni dall'epoca, abbastanza generoso perché raggiungerlo significhi quasi sempre una moltiplicazione sbagliata e non una data reale: quasi sempre secondi passati dove ci si aspettavano millisecondi, gonfiando il valore di mille volte.
  • I millisecondi stanno comodamente nell'intervallo degli interi sicuri, quindi a differenza dei nanosecondi possono vivere in un numero ordinario senza perdere cifre. È la ragione pratica per cui la maggior parte delle API si è fermata ai millisecondi e non a qualcosa di più fine.

Domande frequenti

Perché la mia data è sfasata di un'ora dopo aver aggiunto un giorno?
Hai attraversato un cambio d'ora. Sommare 86.400.000 ms aggiunge esattamente 24 ore, ma quel giorno di calendario ne aveva 23 o 25. Se volevi la stessa ora dell'orologio, aggiungi un giorno con l'aritmetica di calendario anziché con un numero fisso di millisecondi.
Che cosa significa Invalid Date?
Il valore è caduto fuori da ±8.640.000.000.000.000 ms oppure non è stato possibile analizzarlo. Non è un'eccezione: è un oggetto Date il cui getTime() vale NaN, quindi continua a circolare nel tuo codice e trasforma in silenzio anche i calcoli successivi in NaN.

Guida ai timestamp in millisecondi

I timestamp in millisecondi sono il formato più diffuso nelle applicazioni web moderne e in JavaScript. Un millisecondo è un millesimo di secondo, il che offre più precisione dei secondi tradizionali. JavaScript (Date.now()) e la JVM restituiscono l'ora in questo formato, rendendolo lo standard di fatto della maggior parte delle piattaforme web.

JavaScript e i timestamp

In JavaScript, Date.now() restituisce il timestamp in millisecondi dall'epoch del 1970. A differenza di altri linguaggi, JavaScript non ha un oggetto Date nativo che supporti i nanosecondi. Per ottenere maggiore precisione, gli sviluppatori usano performance.now(), che restituisce frazioni di millisecondo con precisione al microsecondo.

Applicazioni che richiedono millisecondi

La precisione al millisecondo è cruciale in: sistemi di trading in cui conta l'ordine di esecuzione, profiling delle prestazioni delle applicazioni web, animazioni e giochi nel browser per una fluidità di 60+ FPS, sistemi IoT che raccolgono dati dai sensori in tempo reale, e registrazione degli eventi per l'analisi degli incidenti.

Cast e conversione

Per convertire i millisecondi in altri formati: dividi per 1000 per i secondi, per 1.000.000 per i nanosecondi, per 1000 × 60 per i minuti e così via. Windows .NET e altri sistemi possono usare un'epoch diversa: consulta sempre la documentazione.