Intl.RelativeTimeFormat.prototype.formatToParts()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2020.
La méthode Intl.RelativeTimeFormat.prototype.formatToParts() est une méthode analogue à format() qui renvoie un tableau d'objets contenant les différentes parties représentant le message internationalisé pour le temps relatif.
Exemple interactif
const rtf1 = new Intl.RelativeTimeFormat("en", { numeric: "auto" });
const parts = rtf1.formatToParts(10, "seconds");
console.log(parts[0].value);
// Expected output: "in "
console.log(parts[1].value);
// Expected output: "10"
console.log(parts[2].value);
// Expected output: " seconds"
Syntaxe
RelativeTimeFormat.formatToParts(valeur, unite);
Paramètres
valeur-
Une valeur numérique qu'on souhaite formater pour un message internationalisé exprimant un temps relatif.
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.
Valeur de retour
Un tableau (Array) d'objets contenant les fragments composant la chaîne de caractères localisée et mise en forme pour exprimer le temps relatif.
Description
La méthode Intl.RelativeTimeFormat.prototype.formatToParts() est une méthode analogue à la méthode format() mais renvoie un tableau d'objets représentant chacun une partie du message internationalisé. Ces objets ont deux propriétés : type et value. Si un des composants provient de NumberFormat, il aura une propriété unit indiquant l'unité utilisée pour le formatage.
Exemples
const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" });
// Format relative time using the day unit.
rtf.formatToParts(-1, "day");
// > [{ type: "literal", value: "yesterday"}]
rtf.formatToParts(100, "day");
// > [{ type: "literal", value: "in " },
{ type: "integer", value: "100", unit: "day" },
{ type: "literal", value: " days" }]
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Internationalization API Specification> # sec-Intl.RelativeTimeFormat.prototype.formatToParts> |
Compatibilité des navigateurs
Chargement…