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 Methode format()
von Intl.RelativeTimeFormat
-Instanzen formatiert einen value
und unit
gemäß den Lokalisierungs- und Formatierungsoptionen dieses Intl.RelativeTimeFormat
-Objekts.
Probieren Sie es aus
Syntax
format(value, unit)
Parameter
value
-
Der numerische Wert, der in der lokalisierten relativen Zeitangabe verwendet wird.
unit
-
Die Einheit, die in der internationalisierten relativen Zeitangabe verwendet wird. Mögliche Werte sind:
"year"
,"quarter"
,"month"
,"week"
,"day"
,"hour"
,"minute"
,"second"
. Pluralformen sind ebenfalls erlaubt.
Rückgabewert
Ein String, der den gegebenen value
und unit
darstellt, formatiert gemäß den Lokalisierungs- und Formatierungsoptionen dieses Intl.RelativeTimeFormat
-Objekts.
Hinweis: Meistens ist die Formatierung, die von format()
zurückgegeben wird, konsistent. Jedoch kann die Ausgabe zwischen Implementierungen variieren, sogar innerhalb derselben Lokalisierung — solche Unterschiede sind durch das Design und die Spezifikation erlaubt. Die Ausgabe entspricht möglicherweise auch nicht den Erwartungen. So kann die Zeichenkette z.B. geschützte Leerzeichen verwenden oder von bidirektionalen Steuerzeichen umgeben sein. Sie sollten die Ergebnisse von format()
nicht mit fest codierten Konstanten vergleichen.
Beispiele
Grundlegende Verwendungsweise der Formatierung
Das folgende Beispiel zeigt, wie ein relativer Zeitformatierer mit der englischen Sprache erstellt wird.
// 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 Zeichenkette yesterday
, today
oder tomorrow
anstelle von 1 day ago
, in 0 days
oder in 1 day
. Dadurch muss nicht immer ein numerischer Wert in der Ausgabe verwendet werden.
// 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 Internationalization API Specification # sec-Intl.RelativeTimeFormat.prototype.format |
Browser-Kompatibilität
BCD tables only load in the browser