Format de date en JavaScript : outil et exemples

Format de date en JavaScript

Format de date en JavaScript : outil Intl.DateTimeFormat et exemples | We.Inc

Formatez des dates en JavaScript sans bibliothèque : un outil Intl.DateTimeFormat en direct, du code YYYY-MM-DD et MM/DD/YYYY, les fuseaux horaires, le temps relatif, les plages et les pièges d'analyse à l'origine des décalages d'un jour.

Pour formater une date en JavaScript, utilisez Intl.DateTimeFormat ou toLocaleDateString avec une locale et des options, par exemple date.toLocaleDateString("en-US", { dateStyle: "long" }) pour March 5, 2026. Utilisez toISOString() pour les API, l'option timeZone pour afficher un autre fuseau, et Intl.RelativeTimeFormat pour des expressions comme il y a 3 jours.

Réponses rapides

Choisissez une locale et des options dans l'outil et copiez le code qu'il génère ; l'aperçu est formaté par votre propre navigateur. En dessous, un tableau des formats courants et des exemples exécutables pour les fuseaux, le temps relatif et les plages.

Questions fréquentes

Comment formater une date en YYYY-MM-DD en JavaScript ?

Prenez l'année locale, le mois plus un et le jour, complétés avec padStart(2, "0"), et reliez-les par des tirets. toISOString().slice(0, 10) donne aussi cette forme mais en UTC, et peut donc afficher le mauvais jour près de minuit.

Pourquoi ma date est-elle décalée d'un jour ?

new Date("2026-03-05") est lu comme minuit UTC. À l'ouest de Greenwich, ce moment correspond encore au 4 en heure locale. Analysez avec une heure ("2026-03-05T00:00") ou avec new Date(2026, 2, 5) pour obtenir minuit en heure locale.

Ai-je encore besoin de Moment.js ?

Pas pour le formatage. Intl gère les locales, les fuseaux horaires et le temps relatif dans tous les navigateurs modernes. Les mainteneurs de Moment le décrivent eux-mêmes comme un projet historique ; pour les calculs de dates, une petite bibliothèque comme date-fns ou la nouvelle API Temporal (là où elle est disponible) fait très bien l'affaire.

Comment afficher une heure dans un fuseau horaire précis ?

Passez timeZone avec un nom IANA, par exemple { timeZone: "America/New_York", timeStyle: "short" }. L'objet Date reste le même instant ; seule sa façon d'être écrite change.

Les dates sur un site d'entreprise

Formats courants

Formats courants et le code de chacun

Exemples exécutables

Analyser des dates en toute sécurité

Une chaîne ISO contenant uniquement une date est lue comme minuit UTC, mais une chaîne date-heure sans décalage est lue en heure locale. Cette différence est à l'origine de la plupart des bugs de décalage d'un jour.

YYYY-MM-DD sans bibliothèque

Construisez-la à partir des parties locales avec padStart. L'astuce de la locale en-CA donne le même résultat, mais dépend du fait que le format de cette locale ne change pas.

Le même instant dans plusieurs fuseaux horaires

timeZone prend un nom IANA. La Date elle-même n'a pas de fuseau ; seul le formatage change. Notez que timeZoneName ne peut pas être combiné avec dateStyle ou timeStyle.

Temps relatif (il y a 3 jours, dans 2 heures)

Intl.RelativeTimeFormat écrit les mots ; vous choisissez l'unité. Cette fonction utilitaire choisit la plus grande unité qui convient.

Plages de dates

formatRange supprime les parties répétées, si bien qu'une réservation du 5 au 9 du même mois se lit naturellement.

Mises en page personnalisées avec formatToParts

Quand aucun préréglage ne convient, récupérez les morceaux localisés et disposez-les vous-même, par exemple pour afficher le jour plus grand que le mois.

Vous travaillez avec des secondes epoch ? Utilisez le

convertisseur de timestamp Unix

Options d'Intl.DateTimeFormat utilisées dans l'outil

(aucun)

(votre fuseau)

Erreur : {msg}

Outil Intl.DateTimeFormat

Date et heure

Locale

Fuseau horaire

Mode

Styles prédéfinis

Choisir chaque partie

Copier le code

Commencer gratuitement · Sans carte bancaire

Voir aussi: Guides

Produit

Pour qui

Fonctionnalités

Ressources

Entreprise

Plan du site