Intl.RelativeTimeFormat

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.

Das Intl.RelativeTimeFormat-Objekt ermöglicht die sprachsensitive relative Zeitformatierung.

Probieren Sie es aus

Konstruktor

Intl.RelativeTimeFormat()

Erstellt ein neues Intl.RelativeTimeFormat-Objekt.

Statische Methoden

Intl.RelativeTimeFormat.supportedLocalesOf()

Gibt ein Array zurück, das diejenigen der angegebenen Sprachen enthält, die unterstützt werden, ohne auf die Standard-Locale der Laufzeitumgebung zurückgreifen zu müssen.

Instanzeigenschaften

Diese Eigenschaften sind auf Intl.RelativeTimeFormat.prototype definiert und werden von allen Intl.RelativeTimeFormat-Instanzen gemeinsam genutzt.

Intl.RelativeTimeFormat.prototype.constructor

Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für Intl.RelativeTimeFormat-Instanzen ist der Anfangswert der Intl.RelativeTimeFormat-Konstruktor.

Intl.RelativeTimeFormat.prototype[Symbol.toStringTag]

Der Anfangswert der [Symbol.toStringTag] Eigenschaft ist der String "Intl.RelativeTimeFormat". Diese Eigenschaft wird in Object.prototype.toString() verwendet.

Instanzmethoden

Intl.RelativeTimeFormat.prototype.format()

Formatiert einen value und eine unit gemäß der Locale und den Formatierungsoptionen des angegebenen Intl.RelativeTimeFormat-Objekts.

Intl.RelativeTimeFormat.prototype.formatToParts()

Gibt ein Array von Objekten zurück, die das relative Zeitformat in Teilen darstellen, die für benutzerdefinierte, sprachbewusste Formatierungen verwendet werden können.

Intl.RelativeTimeFormat.prototype.resolvedOptions()

Gibt ein neues Objekt mit Eigenschaften zurück, die die bei der Initialisierung des Objekts berechneten Locale und Formatierungsoptionen widerspiegeln.

Beispiele

Grundlegender Formatgebrauch

Das folgende Beispiel zeigt, wie ein relativer Zeitformatierer für die englische Sprache verwendet wird.

js
// 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 von formatToParts

Das folgende Beispiel zeigt, wie man einen relativen Zeitformatierer erstellt, der formatierte Teile zurückgibt.

js
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" }
// ]

Spezifikationen

Specification
ECMAScript Internationalization API Specification
# relativetimeformat-objects

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch