Secondi e millisecondi
Il costruttore Date si aspetta millisecondi quando riceve un numero. Moltiplica i secondi Unix per 1.000.
const seconds = 1711972800;
const date = new Date(seconds * 1000);
console.log(date.toISOString());
// 2024-04-01T12:00:00.000Z
const nowMs = Date.now();
const nowSeconds = Math.floor(nowMs / 1000);Interpretare una data con offset UTC esplicito
const date = new Date('2024-04-01T14:00:00+02:00');
if (Number.isNaN(date.getTime())) {
throw new Error('Data non valida');
}
console.log(date.getTime()); // 1711972800000Una data e un'ora senza offset possono essere interpretate nel fuso del browser. Usa Z per UTC o un offset come +02:00. Validare Date non basta per rifiutare ogni data di calendario impossibile: alcune vengono normalizzate.
Visualizzare un fuso geografico
const formatter = new Intl.DateTimeFormat('fr-FR', {
dateStyle: 'full',
timeStyle: 'long',
timeZone: 'Europe/Paris'
});
console.log(formatter.format(date));Precisione e valori grandi
Date rappresenta gli istanti al millisecondo. I timestamp in nanosecondi superano spesso la precisione intera di Number: leggili come stringhe, poi usa BigInt. La conversione in Date non conserva le frazioni di millisecondo.
Non determinare l'unità solo dal numero di cifre. Un valore breve può rappresentare millisecondi vicini al 1970.
Riferimenti
Versione italiana pubblicata il 26 settembre 2026.