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 derIntl.RelativeTimeFormat-Konstruktor. Intl.RelativeTimeFormat.prototype[Symbol.toStringTag]-
Der Anfangswert der
[Symbol.toStringTag]-Eigenschaft ist der String"Intl.RelativeTimeFormat". Diese Eigenschaft wird inObject.prototype.toString()verwendet.
Instanz-Methoden
Intl.RelativeTimeFormat.prototype.format()-
Formatiert einen
valueund eineunitentsprechend der Locale und der Formatierungsoptionen des gegebenenIntl.RelativeTimeFormat-Objekts. Intl.RelativeTimeFormat.prototype.formatToParts()-
Gibt ein
Arrayvon 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.
// 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.
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
Loading…
Siehe auch
- Polyfill von
Intl.RelativeTimeFormatin FormatJS IntlIntl.RelativeTimeFormatauf v8.dev (2018)