Intl.DateTimeFormat.prototype.resolvedOptions()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2017 browserübergreifend verfügbar.
Die Methode resolvedOptions() von Intl.DateTimeFormat-Instanzen gibt ein neues Objekt zurück, dessen Eigenschaften die bei der Initialisierung dieses DateTimeFormat-Objekts ermittelten Optionen widerspiegeln.
Probieren Sie es aus
const region = new Intl.DateTimeFormat("zh-CN", { timeZone: "UTC" });
const options = region.resolvedOptions();
console.log(options.locale);
// Expected output: "zh-CN"
console.log(options.calendar);
// Expected output: "gregory"
console.log(options.numberingSystem);
// Expected output: "latn"
Syntax
resolvedOptions()
Parameter
Keine.
Rückgabewert
Ein neues Objekt mit Eigenschaften, die die bei der Initialisierung dieses DateTimeFormat-Objekts ermittelten Optionen widerspiegeln. Das Objekt hat die folgenden Eigenschaften in der angegebenen Reihenfolge:
locale-
Das BCP-47-Sprachtag für die tatsächlich verwendete Locale, die durch den Prozess der Locale-Aushandlung bestimmt wird. Nur die Unicode-Erweiterungsschlüssel
ca,hcundnukönnen, sofern angefordert, in der Ausgabe enthalten sein. calendar-
Der für diese Eigenschaft im Argument
optionsoder über den Unicode-Erweiterungsschlüssel"ca"angegebene Wert, gegebenenfalls ergänzt um einen Standardwert. Es handelt sich um einen für diese Locale unterstützten Kalendertyp. Der Standardwert hängt von der Locale ab. numberingSystem-
Der für diese Eigenschaft im Argument
optionsoder über den Unicode-Erweiterungsschlüssel"nu"angegebene Wert, gegebenenfalls ergänzt um einen Standardwert. Es handelt sich um ein für diese Locale unterstütztes Zahlensystem. Der Standardwert hängt von der Locale ab. timeZone-
Der für diese Eigenschaft im Argument
optionsangegebene Wert, gegebenenfalls ergänzt um einen Standardwert. Es handelt sich um einen IANA-Zeitzonennamen oder eine Zeitzonenkennung mit Zeitversatz. Der Standardwert ist die Standardzeitzone der Laufzeitumgebung.Hinweis: Die Standardisierung von
Temporalverlangt, dass Browser die ursprünglich angegebene Kennung verwenden, ohne sie auf einen anderen Alias zu kanonisieren. Weitere Informationen finden Sie unter Zeitzonen und Zeitversatz. hourCycleOptional-
Der für diese Eigenschaft im Argument
optionsoder über den Unicode-Erweiterungsschlüssel"hc"angegebene Wert, gegebenenfalls ergänzt um einen Standardwert. Wennhour12inoptionsangegeben wurde, hat dieser Wert Vorrang vor anderenhourCycle-Einstellungen. Die Eigenschaft ist nur vorhanden, wenn die ermittelten Optionen auchhourodertimeStyleenthalten. Ihr Wert ist"h11","h12","h23"oder"h24". Der Standardwert hängt von der Locale ab, wobei"h24"nie ein Standardwert ist. hour12Optional-
Wird aus
hourCycleberechnet. Die Eigenschaft ist nur vorhanden, wenn die ermittelten Optionen auchhourodertimeStyleenthalten. Ihr Wert isttrue, wennhourCycle"h11"oder"h12"ist, undfalse, wennhourCycle"h23"oder"h24"ist. weekday,era,year,month,day,dayPeriod,hour,minute,second,fractionalSecondDigits,timeZoneNameOptional-
Die Werte ergeben sich aus dem Abgleich der entsprechenden Eigenschaften im Argument
optionsmit den verfügbaren Kombinationen und Darstellungen für die Datums- und Uhrzeitformatierung in der ausgewählten Locale. Einige dieser Eigenschaften können fehlen. Das bedeutet, dass die entsprechenden Komponenten nicht in der formatierten Ausgabe dargestellt werden.weekday,eraunddayPeriodsind jeweils"narrow","short"oder"long";year,day,hour,minuteundsecondsind jeweils"numeric"oder"2-digit";monthist"numeric","2-digit","narrow","short"oder"long";fractionalSecondDigitsist1,2oder3;timeZoneNameist"short","long","shortOffset","longOffset","shortGeneric"oder"longGeneric".Wenn diese Eigenschaften in
optionsangefordert wurden, verhindert der Konstruktor die Angabe vondateStyleundtimeStyle. Daher ist die nachfolgende Gruppe nie vorhanden. dateStyle,timeStyleOptional-
Die für diese Eigenschaften im Argument
optionsangegebenen Werte. Sie sind jeweils"full","long","medium"oder"short". Einige dieser Eigenschaften können fehlen. Das bedeutet, dass die entsprechenden Komponenten nicht in der formatierten Ausgabe dargestellt werden.Wenn diese Eigenschaften in
optionsangefordert wurden, verhindert der Konstruktor die Angabe von Optionen für einzelne Datums- und Uhrzeitkomponenten. Daher ist die vorherige Gruppe nie vorhanden.Hinweis: Obwohl
dateStyleundtimeStyleKurzformen für die Stile einzelner Datums- und Uhrzeitkomponenten sind, sind die genauen, von der Locale abhängigen Komponentenstile, in die sie aufgelöst werden, nicht in den ermittelten Optionen enthalten. Dadurch kann das Ergebnis vonresolvedOptions()direkt an den KonstruktorIntl.DateTimeFormat()übergeben werden (denn einoptions-Objekt, das sowohldateStyleodertimeStyleals auch Stile für einzelne Datums- oder Uhrzeitkomponenten enthält, ist ungültig).
Beispiele
>Verwendung der Methode resolvedOptions()
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"
Zeitzone und Locale-Einstellungen des Benutzers ermitteln
Der Konstruktor Intl.DateTimeFormat verwendet ohne Optionen die aktuellen Systemeinstellungen. Mit resolvedOptions() können Sie die aktuelle Zeitzone des Benutzers sowie den bevorzugten Kalender und das bevorzugte Zahlensystem seiner Locale 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
| Spezifikation |
|---|
| ECMAScript® 2027 Internationalization API Specification> # sec-intl.datetimeformat.prototype.resolvedoptions> |