Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

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"

const rtf2 = new Intl.RelativeTimeFormat("es", { numeric: "auto" });

console.log(rtf2.format(2, "day"));
// Expected output: "pasado mañana"

Konstruktor

Intl.RelativeTimeFormat()

Erstellt ein neues Intl.RelativeTimeFormat-Objekt.

Statische Methoden

Intl.RelativeTimeFormat.supportedLocalesOf()

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

Instanz-Eigenschaften

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

Intl.RelativeTimeFormat.prototype.constructor

Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Bei 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.

Instanz-Methoden

Intl.RelativeTimeFormat.prototype.format()

Formatiert einen value und eine unit entsprechend der Locale und der Formatierungsoptionen des gegebenen Intl.RelativeTimeFormat-Objekts.

Intl.RelativeTimeFormat.prototype.formatToParts()

Gibt ein Array von Objekten zurück, das das relative Zeitformat in Teilen repräsentiert, die für eine benutzerdefinierte locale-sensible Formatierung verwendet werden können.

Intl.RelativeTimeFormat.prototype.resolvedOptions()

Gibt ein neues Objekt mit Eigenschaften zurück, die die während der Initialisierung des Objekts errechneten Locale- und Formatierungsoptionen widerspiegeln.

Beispiele

Grundlegende Verwendung des Formats

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® 2026 Internationalization API Specification
# relativetimeformat-objects

Browser-Kompatibilität

Siehe auch