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 Methode resolvedOptions()
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
Syntax
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
-
Das tatsächlich verwendete BCP 47-Sprachtag für die Locale, bestimmt durch den Locale-Aushandlungsprozess. Nur die Unicode-Erweiterungsschlüssel
ca
,hc
undnu
, wenn angefordert, können im Ausgabe enthalten sein. calendar
-
Der in das
options
-Argument angegebene Wert oder Verwendung des Unicode-Erweiterungsschlüssels"ca"
, mit benötigten Standardwerten. Es handelt sich um einen unterstützten Kalendertyp für diese Locale. Der Standard ist von der Locale abhängig. numberingSystem
-
Der in das
options
-Argument angegebene Wert oder Verwendung des Unicode-Erweiterungsschlüssels"nu"
, mit benötigten Standardwerten. Es handelt sich um ein unterstütztes Zahlsystem für diese Locale. Der Standard ist von der Locale abhängig. timeZone
-
Der im
options
-Argument angegebene Wert, mit benötigten Standardwerten. Es handelt sich um einen kanonisierten IANA-Zeitzonennamen. Der Standard ist die Standardzeitzone der Laufzeitumgebung.Hinweis: Obwohl sich die IANA-Datenbank von Zeit zu Zeit ändert, behält die Unicode CLDR-Datenbank (die von Browsern verwendet wird) alte Zeitzonennamen zur Stabilitätszwecken bei. Alle Browser kanonisieren Zeitzonennamen, jedoch in unterschiedlichen Richtungen. Zum Beispiel werden
new Intl.DateTimeFormat("en-US", { timeZone: "Europe/Kiev" }).resolvedOptions().timeZone
undnew Intl.DateTimeFormat("en-US", { timeZone: "Europe/Kyiv" }).resolvedOptions().timeZone
im gleichen Browser denselben String zurückgeben, jedoch möglicherweise unterschiedliche Strings in verschiedenen Browsern. Weitere Informationen finden Sie unterIntl.Locale.prototype.getTimeZones
. hourCycle
Optional-
Der im
options
-Argument angegebene Wert oder Verwendung des Unicode-Erweiterungsschlüssels"hc"
, mit benötigten Standardwerten. Wennhour12
imoptions
angegeben wurde, überschreibt dies anderehourCycle
-Einstellungen. Es ist nur vorhanden, wenn die aufgelösten Optionen auchhour
odertimeStyle
beinhalten. Es ist entweder"h11"
,"h12"
,"h23"
oder"h24"
. Der Standard ist von der Locale abhängig, obwohl"h24"
niemals Standard ist. hour12
Optional-
Wird aus
hourCycle
berechnet. Es ist nur vorhanden, wenn die aufgelösten Optionen auchhour
odertimeStyle
beinhalten. Es isttrue
, wennhourCycle
"h11"
oder"h12"
ist, undfalse
, wennhourCycle
"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 die Datums- und Zeitformatierung in der ausgewählten Locale resultieren. Einige dieser Eigenschaften sind möglicherweise nicht vorhanden, was bedeutet, dass die entsprechenden Komponenten im formatierten Output nicht dargestellt werden.weekday
,era
unddayPeriod
sind entweder"narrow"
,"short"
oder"long"
;year
,day
,hour
,minute
undsecond
sind entweder"numeric"
,"2-digit"
oder"narrow"
;month
ist entweder"numeric"
,"2-digit"
,"narrow"
,"short"
oder"long"
;fractionalSecondDigits
ist entweder1
,2
oder3
;timeZoneName
ist entweder"short"
,"long"
,"shortOffset"
,"longOffset"
,"shortGeneric"
oder"longGeneric"
.Wenn diese Eigenschaften in
options
angefordert wurden, verhindert der Konstruktor, dassdateStyle
undtimeStyle
spezifiziert werden, sodass die folgende Gruppe niemals vorhanden sein wird. dateStyle
,timeStyle
Optional-
Die in das
options
-Argument angegebenen Werte. Sie sind entweder"full"
,"long"
,"medium"
,"short"
oder"none"
. Einige dieser Eigenschaften sind möglicherweise nicht vorhanden, was bedeutet, dass die entsprechenden Komponenten im formatierten Output nicht dargestellt werden.Wenn diese Eigenschaften in
options
angefordert wurden, verhindert der Konstruktor, dass individuelle Datums- und Zeit-Komponenten-Optionen spezifiziert werden, sodass die obige Gruppe niemals vorhanden sein wird.Hinweis: Obwohl
dateStyle
undtimeStyle
Abkürzungen für individuelle Datums- und Zeit-Komponenten-Stile sind, sind die genau (Locale-abhängigen) Komponenten-Stile, auf die sie angewendet werden, nicht in den aufgelösten Optionen enthalten. Dies stellt sicher, dass das Ergebnis vonresolvedOptions()
direkt an denIntl.DateTimeFormat()
-Konstruktor übergeben werden kann (da einoptions
-Objekt mit sowohldateStyle
odertimeStyle
als auch individuellem Datum oder Zeit-Komponenten-Stilen nicht gültig ist).
Beispiele
Verwenden der resolvedOptions-Methode
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 Locale-Präferenzen eines Benutzers
Der Intl.DateTimeFormat
-Konstruktor ohne irgendwelche Optionen verwendet die aktuellen Systemeinstellungen. Sie können resolvedOptions()
verwenden, um die aktuelle Zeitzone des Benutzers und das bevorzugte Kalender- und Zahlsystem der Locale zu ermitteln:
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 Internationalization API Specification # sec-intl.datetimeformat.prototype.resolvedoptions |
Browser-Kompatibilität
BCD tables only load in the browser