Formato delle date in JavaScript: builder ed esempi

Formato delle date in JavaScript

Formato delle date in JavaScript: builder Intl.DateTimeFormat ed esempi | We.Inc

Formatta le date in JavaScript senza librerie: un builder Intl.DateTimeFormat dal vivo, codice per YYYY-MM-DD e MM/DD/YYYY, fusi orari, tempo relativo, intervalli e le trappole del parsing dietro i bug del giorno sbagliato.

Per formattare una data in JavaScript, usa Intl.DateTimeFormat o toLocaleDateString con una locale e delle opzioni, per esempio date.toLocaleDateString("en-US", { dateStyle: "long" }) per March 5, 2026. Usa toISOString() per le API, l'opzione timeZone per mostrare un altro fuso orario e Intl.RelativeTimeFormat per frasi come 3 giorni fa.

Risposte rapide

Scegli una locale e le opzioni nel builder e copia il codice che genera; l'anteprima è formattata dal tuo stesso browser. Sotto trovi una tabella dei formati di tutti i giorni ed esempi eseguibili per fusi orari, tempo relativo e intervalli.

Domande frequenti

Come formatto una data come YYYY-MM-DD in JavaScript?

Usa l'anno locale, il mese più uno e il giorno, completati con padStart(2, "0"), e uniscili con dei trattini. Anche toISOString().slice(0, 10) dà quella forma, ma in UTC, quindi vicino alla mezzanotte può mostrare il giorno sbagliato.

Perché la mia data è sbagliata di un giorno?

new Date("2026-03-05") viene letto come mezzanotte UTC. A ovest di Greenwich, quel momento in ora locale è ancora il giorno 4. Fai il parsing con un orario ("2026-03-05T00:00") oppure con new Date(2026, 2, 5) per ottenere la mezzanotte locale.

Mi serve ancora Moment.js?

Non per formattare. Intl copre locale, fusi orari e tempo relativo in ogni browser moderno. Gli stessi maintainer di Moment lo descrivono come un progetto legacy; per i calcoli sulle date funziona bene una piccola libreria come date-fns o la più recente API Temporal (dove disponibile).

Come mostro un orario in un fuso orario specifico?

Passa timeZone con un nome IANA, per esempio { timeZone: "America/New_York", timeStyle: "short" }. L'oggetto Date rimane lo stesso istante; cambia solo il modo in cui viene scritto.

Le date sul sito di un'attività

Formati comuni

Formati comuni e il codice per ciascuno

Esempi eseguibili

Fare il parsing delle date in sicurezza

Una stringa ISO con la sola data viene letta come mezzanotte UTC, mentre una stringa data e ora senza offset viene letta come ora locale. Questa differenza causa la maggior parte dei bug del giorno sbagliato.

YYYY-MM-DD senza librerie

Costruiscila dalle parti locali con padStart. Il trucco della locale en-CA dà lo stesso risultato ma dipende dal fatto che il formato di quella locale non cambi.

Lo stesso momento in diversi fusi orari

timeZone accetta un nome IANA. Il Date in sé non ha un fuso; cambia solo la formattazione. Nota che timeZoneName non si può combinare con dateStyle o timeStyle.

Tempo relativo (3 giorni fa, tra 2 ore)

Intl.RelativeTimeFormat scrive le parole; tu scegli l'unità. Questa funzione di supporto sceglie l'unità più grande che ci sta.

Intervalli di date

formatRange rimuove le parti ripetute, così una prenotazione dal 5 al 9 dello stesso mese si legge in modo naturale.

Layout personalizzati con formatToParts

Quando nessuno stile predefinito va bene, prendi i pezzi localizzati e disponili tu, per esempio per mostrare il giorno più grande del mese.

Lavori con i secondi epoch? Usa il

convertitore di timestamp Unix

Opzioni di Intl.DateTimeFormat usate nel builder

(nessuno)

(il tuo fuso)

Errore: {msg}

Builder Intl.DateTimeFormat

Data e ora

Locale

Fuso orario

Modalità

Stili predefiniti

Scegli ogni parte

Copia il codice

Inizia gratis · Nessuna carta di credito richiesta

Correlati: Guide

Prodotto

Per chi è

Funzionalità

Risorse

Azienda

Mappa del sito