Il parsing delle date in JavaScript è l'operazione di trasformare una stringa in un oggetto Date
. Questa operazione è fondamentale in molte applicazioni, ad esempio quando si ricevono dati da un'API o da un modulo HTML.
Creazione di un Oggetto Date
Il costruttore Date
può essere utilizzato in diversi modi. Uno dei più comuni è passargli una stringa:
const data = new Date("2025-07-23T10:30:00Z");
console.log(data.toISOString());
Il formato ISO 8601 (YYYY-MM-DDTHH:mm:ssZ
) è il più sicuro e coerente per il parsing automatico.
Parsing con Date.parse()
È anche possibile usare Date.parse()
, che restituisce il timestamp (in millisecondi) corrispondente alla data:
const timestamp = Date.parse("2025-07-23T10:30:00Z");
console.log(new Date(timestamp));
Anche qui è raccomandato l’uso del formato ISO.
Supporto per Formati Localizzati
JavaScript nativo non gestisce bene i formati di data localizzati (come 23/07/2025
o 07-23-2025
). Questi possono produrre risultati inconsistenti o Invalid Date
:
const data = new Date("23/07/2025"); // Potenzialmente non valido
console.log(data.toString());
Per questi casi si consiglia di usare una libreria specializzata.
Parsing Avanzato con Librerie
Librerie come date-fns, Luxon e Day.js offrono parsing robusto e supporto per molteplici formati:
// Con Day.js
dayjs("23/07/2025", "DD/MM/YYYY").toDate();
// Con Luxon
luxon.DateTime.fromFormat("23/07/2025", "dd/MM/yyyy").toJSDate();
Best Practice
- Usa sempre il formato ISO 8601 quando possibile.
- Evita parsing impliciti di stringhe localizzate.
- Verifica sempre la validità dell’oggetto
Date
dopo il parsing. - Per parsing complesso, usa librerie affidabili.
Conclusione
Il parsing delle date in JavaScript può essere semplice se si seguono le convenzioni corrette. Tuttavia, per applicazioni internazionali o requisiti complessi, l’uso di librerie esterne è spesso la scelta migliore.