Intl.RelativeTimeFormat()-Konstruktor

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.

Der Intl.RelativeTimeFormat()-Konstruktor erzeugt Intl.RelativeTimeFormat-Objekte.

Syntax

js
new Intl.RelativeTimeFormat()
new Intl.RelativeTimeFormat(locales)
new Intl.RelativeTimeFormat(locales, options)

Note: Intl.RelativeTimeFormat() kann nur mit new erstellt werden. Ein Aufruf ohne new wirft einen TypeError.

Parameter

locales Optional

Ein String mit einem BCP 47-Sprachenkürzel oder eine Intl.Locale-Instanz, oder ein Array solcher Locale-Identifikatoren. Die Standard-Locale des Laufzeitumgebungs wird verwendet, wenn undefined übergeben wird oder wenn keiner der angegebenen Locale-Identifikatoren unterstützt wird. Für die allgemeine Form und Interpretation des locales-Arguments siehe die Parameterbeschreibung auf der Intl-Hauptseite.

Der folgende Unicode-Erweiterungsschlüssel ist erlaubt:

nu

Siehe numberingSystem.

Dieser Schlüssel kann auch mit options (wie unten aufgeführt) gesetzt werden. Wenn beide gesetzt sind, hat die options-Eigenschaft Vorrang.

options Optional

Ein Objekt, das die folgenden Eigenschaften enthält, in der Reihenfolge, in der sie abgerufen werden (alle sind optional):

localeMatcher

Der zu verwendende Algorithmus zum Abgleichen von Locales. Mögliche Werte sind "lookup" und "best fit"; der Standardwert ist "best fit". Weitere Informationen zu dieser Option finden Sie unter Locale-Erkennung und -Verhandlung.

numberingSystem

Das Ziffernsystem, das für die Zahlenformatierung verwendet werden soll, wie z. B. "arab", "hans", "mathsans", usw. Eine Liste unterstützter Ziffernsystemtypen finden Sie unter Intl.supportedValuesOf(). Diese Option kann auch über den nu-Unicode-Erweiterungsschlüssel gesetzt werden; wenn beide angegeben sind, hat diese options-Eigenschaft Vorrang.

style

Der Stil der formatierten relativen Zeit. Mögliche Werte sind:

"long" (Standard)

Z. B. "in 1 month"

"short"

Z. B. "in 1 mo."

"narrow"

Z. B. "in 1 mo.". Der enge Stil könnte für einige Locales dem kurzen Stil ähneln.

numeric

Ob numerische Werte in der Ausgabe verwendet werden sollen. Mögliche Werte sind "always" und "auto"; der Standardwert ist "always". Wenn "auto" gesetzt ist, kann die Ausgabe idiomatischere Formulierungen wie "yesterday" anstelle von "1 day ago" verwenden.

Ausnahmen

RangeError

Wird geworfen, wenn locales oder options ungültige Werte enthalten.

Beispiele

Grundlegende Nutzung der Formatierung

Das folgende Beispiel zeigt, wie ein relativ-zeitlicher Formatierer mit der englischen Sprache erstellt wird.

js
// Create a relative time formatter in your locale
// with default values explicitly passed in.
const rtf = new Intl.RelativeTimeFormat("en-US", {
  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 numeric: "auto"-Option übergeben wird, produziert sie den String yesterday oder tomorrow anstelle von 1 day ago oder in 1 day. Dies ist nützlich, wenn Sie keine numerischen Werte in der Ausgabe verwenden möchten.

js
// Create a relative time formatter in your locale
// with numeric: "auto" option value passed in.
const rtf = new Intl.RelativeTimeFormat("en-US", { numeric: "auto" });

// Format relative time using negative value (-1).
rtf.format(-1, "day"); // "yesterday"

// Format relative time using positive day unit (1).
rtf.format(1, "day"); // "tomorrow"

Wenn der Wert 0 ist, kann die Ausgabe von der Einheit abhängen. "0 seconds" wird durch die lokalisierte Version von "now" dargestellt.

js
rtf.format(0, "second"); // "now"
rtf.format(0, "day"); // "today"
rtf.format(0, "minute"); // "this minute"

Spezifikationen

Specification
ECMAScript® 2026 Internationalization API Specification
# sec-intl-relativetimeformat-constructor

Browser-Kompatibilität

Siehe auch