Intl.RelativeTimeFormat.prototype.format()

La méthode Intl.RelativeTimeFormat.prototype.format() permet de formater une valeur avec une unité selon des options de locale et de formatage stockées dans l'objet RelativeTimeFormat.

Syntaxe

RelativeTimeFormat.format(valeur, unite)

Paramètres

valeur
Une valeur numérique qu'on souhaite utiliser pour exprimer un temps relatif dans un message internationalisé.
unite
L'unité à utiliser pour le message internationalisé exprimant le temps relatif. Les valeurs possibles pour cet argument sont "year" (année), "quarter" (trimestre), "month" (mois), "week" (semaine), "day" (jour), "hour" (heure), "minute" (minute), "second" (secondes). Les formes plurielles sont également autorisées.

Description

La fonction renvoyée par l'accesseur format permet de formater une valeur et une unité en une chaîne de caractères en prenant en compte la locale et les options de formatage associées à l'objet Intl.RelativeTimeFormat utilisé.

Exemples

Utilisation simple de format

L'exemple suivant illustre comment créer un outil de formatage pour les valeurs de temps relatifs en anglais.

// On crée un outil de formatage pour les valeurs exprimant
// les temps relatifs en anglais, avec les valeurs par défaut
// utilisées explicitement.
const rtf = new Intl.RelativeTimeFormat("en", {
    localeMatcher: "best fit", // autre valeur possible : "lookup"
    numeric: "always", // autre valeur possible : "auto"
    style: "long", // autres valeurs possibles : "short" ou "narrow"
});

// Formatage d'une valeur relative négative.
rtf.format(-1, "day");
// > "1 day ago"

// Formatage d'une valeur relative positive.
rtf.format(1, "day");
// > "in 1 day"

Utiliser l'option auto

Si on passe l'option numeric:auto, c'est la chaîne de caractères yesterday ou tomorrow qui sera produite (en anglais) plutôt que 1 day ago ou in 1 day. Cela permet de n'avoir pas nécessairement une valeur numérique en résultat.

// On crée un formateur en anglais avec l'option
// numeric: "auto".
const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" });

// Formatage d'une valeur relative négative.
rtf.format(-1, "day");
// > "yesterday"

// Formatage d'une valeur relative positive.
rtf.format(1, "day");
// > "tomorrow"

Spécifications

Spécification État Commentaires
Proposition pour Intl.RelativeTime Proposition de niveau 3  

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
formatChrome Support complet 71Edge Aucun support NonFirefox Support complet 65IE Aucun support NonOpera Support complet 58Safari Aucun support NonWebView Android Support complet 71Chrome Android Support complet 71Edge Mobile Aucun support NonFirefox Android Support complet 65Opera Android ? Safari iOS Aucun support NonSamsung Internet Android Support complet Ouinodejs Aucun support Non

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, mdnwebdocs-bot
Dernière mise à jour par : SphinxKnight,