Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthode toLocaleString() des instances de Date retourne une chaîne de caractères représentant cette date, adaptée à la langue et au fuseau horaire local. Dans les implémentations prenant en charge l'API Intl.DateTimeFormat, cette méthode délègue à Intl.DateTimeFormat.
Chaque appel à toLocaleString effectue une recherche dans une grande base de données de chaînes de localisation, ce qui peut être inefficace. Lorsque la méthode est appelée plusieurs fois avec les mêmes arguments, il est préférable de créer un objet Intl.DateTimeFormat et d'utiliser sa méthode format(), car un objet DateTimeFormat mémorise les arguments passés et peut décider de mettre en cache une partie de la base de données, afin que les appels futurs à format puissent rechercher les chaînes de localisation dans un contexte plus restreint.
Les paramètres locales et options personnalisent le comportement de la fonction et permettent aux applications d'indiquer la langue dont les conventions de formatage doivent être utilisées.
Dans les implémentations prenant en charge l'API Intl.DateTimeFormat, ces paramètres correspondent exactement à ceux du constructeur Intl.DateTimeFormat(). Les implémentations sans prise en charge de Intl.DateTimeFormat doivent ignorer ces deux paramètres, rendant la locale utilisée et la forme de la chaîne retournée entièrement dépendantes de l'implémentation.
locales FacultatifUne chaîne de caractères avec un identifiant de langue BCP 47, ou un tableau de telles chaînes. Correspond au paramètre locales du constructeur Intl.DateTimeFormat().
Dans les implémentations sans prise en charge de Intl.DateTimeFormat, ce paramètre est ignoré et la locale de l'hôte est généralement utilisée.
options FacultatifUn objet ajustant le format de sortie. Correspond au paramètre options du constructeur Intl.DateTimeFormat(). L'option timeStyle doit être indéfinie, sinon une TypeError sera levée. Si weekday, year, month et day sont toutes indéfinies, alors year, month et day seront définies sur "numeric".
Dans les implémentations sans prise en charge de Intl.DateTimeFormat, ce paramètre est ignoré.
Voir le constructeur Intl.DateTimeFormat() pour plus de détails sur ces paramètres et leur utilisation.
Une chaîne de caractères représentant la date indiquée selon des conventions de locales spécifiques.
Dans les implémentations prenant en charge Intl.DateTimeFormat, cela équivaut à new Intl.DateTimeFormat(locales, options).format(date).
Note : La plupart du temps, le format renvoyé par toLocaleString() est cohérent. Toutefois, le résultat peut varier selon les implémentations, même au sein d'une même locale — ces variations sont voulues et permises par la spécification. Il se peut aussi que le résultat ne soit pas celui attendu. Par exemple, la chaîne peut utiliser des espaces insécables ou être entourée de caractères de contrôle bidirectionnels. Il ne faut pas comparer les résultats de toLocaleString() à des constantes codées en dur.
Voici un usage simple qui ne définit pas de locale ou de options — cela dépend de l'implémentation et retourne une chaîne de caractères formatée selon la locale et le fuseau horaire par défaut, avec les options par défaut.
Les paramètres locales et options peuvent ne pas être pris en charge dans toutes les implémentations, car la prise en charge de l'API d'internationalisation est facultative, et certains systèmes peuvent ne pas disposer des données nécessaires. Pour les implémentations sans prise en charge de l'internationalisation, toLocaleString() utilise toujours la locale du système, ce qui peut ne pas être souhaité. Toute implémentation qui prend en charge les paramètres locales et options doit prendre en charge l'API Intl, vous pouvez vérifier l'existence de cette dernière pour la prise en charge :
Cet exemple montre quelques variations dues aux formats de dates localisés. Afin d'obtenir le langage utilisé au sein de l'interface utilisateur de votre application, vérifiez de bien fournir ce langage (et éventuellement des locales de recours) en utilisant l'argument locales :
Les résultats fournis par toLocaleString() peuvent être personnalisés grâce à l'argument options :
| ECMAScript® 2027 Language Specification # sec-date.prototype.tolocalestring |
| ECMAScript® 2027 Internationalization API Specification # sup-date.prototype.tolocalestring |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 20 févr. 2026 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.