Intl.RelativeTimeFormat.prototype.format()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.
Die format()
Methode von Intl.RelativeTimeFormat
Instanzen formatiert einen value
und unit
gemäß der Lokale und den Formatierungsoptionen dieses Intl.RelativeTimeFormat
Objekts.
Probieren Sie es aus
const rtf1 = new Intl.RelativeTimeFormat("en", { style: "short" });
console.log(rtf1.format(3, "quarter"));
// Expected output: "in 3 qtrs."
console.log(rtf1.format(-1, "day"));
// Expected output: "1 day ago"
console.log(rtf1.format(10, "seconds"));
// Expected output: "in 10 sec."
Syntax
format(value, unit)
Parameter
value
-
Numerischer Wert, der in der internationalisierten relativen Zeitnachricht verwendet werden soll.
unit
-
Einheit, die in der internationalisierten relativen Zeitnachricht verwendet werden soll. Mögliche Werte sind:
"year"
,"quarter"
,"month"
,"week"
,"day"
,"hour"
,"minute"
,"second"
. Auch Pluralformen sind zulässig.
Rückgabewert
Ein String, der den angegebenen value
und unit
formatiert gemäß der Lokale und Formatierungsoptionen dieses Intl.RelativeTimeFormat
Objekts darstellt.
Hinweis:
Meistens ist das von format()
zurückgegebene Format konsistent. Das Ergebnis kann jedoch zwischen verschiedenen Implementierungen variieren, selbst innerhalb derselben Lokale — Abweichungen sind beabsichtigt und von der Spezifikation erlaubt. Es kann auch nicht das sein, was Sie erwarten. Zum Beispiel kann der String unveränderliche Leerzeichen verwenden oder von bidirektionalen Steuerzeichen umgeben sein. Sie sollten die Ergebnisse von format()
nicht mit fest codierten Konstanten vergleichen.
Beispiele
Grundlegende Verwendung der Formatierung
Das folgende Beispiel zeigt, wie man einen relativen Zeitformatierer mit der englischen Sprache erstellt.
// Create a relative time formatter in your locale
// with default values explicitly passed in.
const rtf = new Intl.RelativeTimeFormat("en", {
localeMatcher: "best fit", // other values: "lookup"
numeric: "always", // other values: "auto"
style: "long", // other values: "short" or "narrow"
});
// Format relative time using negative value (-1).
rtf.format(-1, "day"); // "1 day ago"
// Format relative time using positive value (1).
rtf.format(1, "day"); // "in 1 day"
Verwendung der Auto-Option
Wenn die Option numeric:auto
übergeben wird, erzeugt sie die Strings yesterday
, today
oder tomorrow
anstelle von 1 day ago
, in 0 days
oder in 1 day
. Dies ermöglicht es, nicht immer numerische Werte in der Ausgabe verwenden zu müssen.
// Create a relative time formatter in your locale
// with numeric: "auto" option value passed in.
const rtf = new Intl.RelativeTimeFormat("en", { numeric: "auto" });
// Format relative time using negative value (-1).
rtf.format(-1, "day"); // "yesterday"
rtf.format(0, "day"); // "today"
// Format relative time using positive day unit (1).
rtf.format(1, "day"); // "tomorrow"
Spezifikationen
Specification |
---|
ECMAScript® 2026 Internationalization API Specification # sec-Intl.RelativeTimeFormat.prototype.format |