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.
- inizio 28 marzo 2026, 12:00 — somma 86.400.000 ms → 29 marzo, 13:00
- inizio 24 ottobre 2026, 12:00 — somma 86.400.000 ms → 25 ottobre, 11:00
- 8.640.000.000.000.000 ms → +275760-09-13, il massimo
- un millisecondo in più → Invalid Date
- 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.