Intl.DateTimeFormat.prototype.resolvedOptions()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.

Die resolvedOptions() Methode von Intl.DateTimeFormat Instanzen gibt ein neues Objekt mit Eigenschaften zurück, die die während der Initialisierung dieses DateTimeFormat Objekts berechneten Optionen widerspiegeln.

Probieren Sie es aus

const region1 = new Intl.DateTimeFormat("zh-CN", { timeZone: "UTC" });
const options1 = region1.resolvedOptions();

console.log(options1.locale);
// Expected output: "zh-CN"

console.log(options1.calendar);
// Expected output: "gregory"

console.log(options1.numberingSystem);
// Expected output: "latn"

Syntax

js
resolvedOptions()

Parameter

Keine.

Rückgabewert

Ein neues Objekt mit Eigenschaften, die die während der Initialisierung dieses DateTimeFormat Objekts berechneten Optionen widerspiegeln. Das Objekt hat die folgenden Eigenschaften in der Reihenfolge, in der sie aufgelistet sind:

locale

Der BCP 47-Sprachcode für die tatsächlich verwendete Sprache, bestimmt durch den Verhandlungsprozess der Sprache. Nur die ca, hc und nu Unicode-Erweiterungsschlüssel können in der Ausgabe enthalten sein, wenn sie angefordert wurden.

calendar

Der Wert, der für diese Eigenschaft im options Argument oder unter Verwendung des Unicode-Erweiterungsschlüssels "ca" bereitgestellt wurde, mit Standardwerten, die bei Bedarf ausgefüllt werden. Es ist ein unterstützter Kalendertyp für diese Sprachregion. Der Standard hängt von der Sprachregion ab.

numberingSystem

Der Wert, der für diese Eigenschaft im options Argument oder unter Verwendung des Unicode-Erweiterungsschlüssels "nu" bereitgestellt wurde, mit Standardwerten, die bei Bedarf ausgefüllt werden. Es ist ein unterstütztes Nummerierungssystem für diese Sprachregion. Der Standard hängt von der Sprachregion ab.

timeZone

Der Wert, der für diese Eigenschaft im options Argument bereitgestellt wurde, mit Standardwerten, die bei Bedarf ausgefüllt werden. Es ist ein IANA-Zeitzonenname. Der Standard ist die Standardzeitzone der Laufzeitumgebung.

Hinweis: Die Standardisierung von Temporal erfordert, dass Browser denselben Bezeichner verwenden, wie ursprünglich spezifiziert, ohne Kanonisierung zu einem anderen Alias. Siehe Zeitzonen und Offsets für weitere Informationen.

hourCycle Optional

Der Wert, der für diese Eigenschaft im options Argument oder unter Verwendung des Unicode-Erweiterungsschlüssels "hc" bereitgestellt wurde, mit Standardwerten, die bei Bedarf ausgefüllt werden. Wenn hour12 im options bereitgestellt wurde, wird dies andere hourCycle Einstellungen überschreiben. Es ist nur vorhanden, wenn die aufgelösten Optionen auch hour oder timeStyle beinhalten. Es kann "h11", "h12", "h23" oder "h24" sein. Der Standard hängt von der Sprachregion ab, obwohl "h24" nie ein Standard ist.

hour12 Optional

Berechnet aus hourCycle. Es ist nur vorhanden, wenn die aufgelösten Optionen auch hour oder timeStyle beinhalten. Es ist true, wenn hourCycle "h11" oder "h12" ist, und false, wenn hourCycle "h23" oder "h24" ist.

weekday, era, year, month, day, dayPeriod, hour, minute, second, fractionalSecondDigits, timeZoneName Optional

Die Werte, die aus dem Formatabgleich zwischen den entsprechenden Eigenschaften im options Argument und den verfügbaren Kombinationen und Darstellungen für Datums- und Uhrzeitformatierung in der ausgewählten Sprachregion resultieren. Einige dieser Eigenschaften können fehlen, was darauf hinweist, dass die entsprechenden Komponenten in der formatierten Ausgabe nicht dargestellt werden. weekday, era und dayPeriod sind entweder "narrow", "short" oder "long"; year, day, hour, minute und second sind entweder "numeric", "2-digit" oder "narrow"; month ist entweder "numeric", "2-digit", "narrow", "short" oder "long"; fractionalSecondDigits ist entweder 1, 2 oder 3; timeZoneName ist entweder "short", "long", "shortOffset", "longOffset", "shortGeneric" oder "longGeneric".

Wenn diese Eigenschaften in options angefordert wurden, verhindert der Konstruktor, dass dateStyle und timeStyle angegeben werden, so dass die untenstehende Gruppe niemals vorhanden sein wird.

dateStyle, timeStyle Optional

Die Werte, die für diese Eigenschaften im options Argument bereitgestellt wurden. Sie sind entweder "full", "long", "medium", "short" oder "none". Einige dieser Eigenschaften können fehlen, was darauf hinweist, dass die entsprechenden Komponenten in der formatierten Ausgabe nicht dargestellt werden.

Wenn diese Eigenschaften in options angefordert wurden, verhindert der Konstruktor, dass individuelle Datums- und Zeitkomponentenoptionen angegeben werden, so dass die obenstehende Gruppe niemals vorhanden sein wird.

Hinweis: Obwohl dateStyle und timeStyle Abkürzungen für individuelle Datums- und Zeitkomponentenstile sind, sind die genauen (sprachregionsabhängigen) Komponentenstile, zu denen sie aufgelöst werden, nicht in den aufgelösten Optionen enthalten. Dies stellt sicher, dass das Ergebnis von resolvedOptions() direkt dem Intl.DateTimeFormat() Konstruktor übergeben werden kann (da ein options Objekt mit sowohl dateStyle oder timeStyle als auch individuellen Datums- oder Zeitkomponentenstilen nicht gültig ist).

Beispiele

Verwendung der Methode resolvedOptions

js
const germanFakeRegion = new Intl.DateTimeFormat("de-XX", { timeZone: "UTC" });
const usedOptions = germanFakeRegion.resolvedOptions();

usedOptions.locale; // "de" (because "de-XX" does not exist)
usedOptions.calendar; // "gregory"
usedOptions.numberingSystem; // "latn"
usedOptions.timeZone; // "UTC"
usedOptions.month; // "numeric"

Abrufen der Zeitzonen- und Spracheinstellungen des Benutzers

Der Intl.DateTimeFormat Konstruktor ohne Optionen verwendet die aktuellen Systemeinstellungen. Sie können resolvedOptions() verwenden, um die aktuelle Zeitzone des Benutzers und die bevorzugten Kalender- und Nummerierungssysteme der Sprachregion zu erhalten:

js
const systemOptions = new Intl.DateTimeFormat().resolvedOptions();
systemOptions.timeZone; // e.g., "Europe/Brussels" or "Asia/Riyadh"
systemOptions.calendar; // e.g., "gregory" or "islamic-umalqura"
systemOptions.numberingSystem; // e.g., "latn" or "arab"
systemOptions.locale; // e.g., "nl-BE" or "ar-SA"

Spezifikationen

Specification
ECMAScript® 2025 Internationalization API Specification
# sec-intl.datetimeformat.prototype.resolvedoptions

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch