Intl.DateTimeFormat.prototype.resolvedOptions()
Базовый уровень Широко доступен
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2017 года.
Метод resolvedOptions() экземпляров Intl.DateTimeFormat возвращает новый объект со свойствами, отражающими параметры, вычисленные во время инициализации этого объекта DateTimeFormat.
Попробуйте
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"
Синтаксис
resolvedOptions()
Параметры
Нет.
Возвращаемое значение
Новый объект со свойствами, отражающими параметры, вычисленные во время инициализации этого объекта DateTimeFormat. Объект имеет следующие свойства в порядке их перечисления:
-
locale - Тег BCP 47 для фактически используемой локали, определенной процессом согласования локали. В вывод могут быть включены только ключи расширения Unicode
ca,hcиnu, если они были запрошены. -
calendar - Значение, предоставленное для этого свойства в аргументе
options, или с использованием ключа расширения Unicode"ca", с заполнением значения по умолчанию по мере необходимости. Это поддерживаемый тип календаря для этой локали. Значение по умолчанию зависит от локали. -
numberingSystem - Значение, предоставленное для этого свойства в аргументе
options, или с использованием ключа расширения Unicode"nu", с заполнением значения по умолчанию по мере необходимости. Это поддерживаемая система счисления для этой локали. Значение по умолчанию зависит от локали. -
timeZone -
Значение, предоставленное для этого свойства в аргументе
options, с заполнением значения по умолчанию по мере необходимости. Это имя часового пояса IANA. По умолчанию используется часовой пояс среды выполнения.Примечание: Стандартизация
Temporalтребует, чтобы браузеры использовали тот же идентификатор, который был изначально указан, без канонизации к другому псевдониму. Дополнительную информацию см. в разделе часовые пояса и смещения. -
hourCycleНеобязательный - Значение, предоставленное для этого свойства в аргументе
options, или с использованием ключа расширения Unicode"hc", с заполнением значения по умолчанию по мере необходимости. Еслиhour12было предоставлено вoptions, то это переопределяет другие настройкиhourCycle. Оно присутствует только в том случае, если в вычисленных параметрах также включеныhourилиtimeStyle. Это"h11","h12","h23"или"h24". Значение по умолчанию зависит от локали, хотя"h24"никогда не является значением по умолчанию. -
hour12Необязательный - Вычислено из
hourCycle. Оно присутствует только в том случае, если в вычисленных параметрах также включеныhourилиtimeStyle. Этоtrue, еслиhourCycleравно"h11"или"h12", иfalse, еслиhourCycleравно"h23"или"h24". -
weekday,era,year,month,day,dayPeriod,hour,minute,second,fractionalSecondDigits,timeZoneNameНеобязательный -
Значения, полученные в результате сопоставления формата между соответствующими свойствами в аргументе
optionsи доступными комбинациями и представлениями для форматирования даты и времени в выбранной локали. Некоторые из этих свойств могут отсутствовать, что указывает на то, что соответствующие компоненты не будут представлены в отформатированном выводе.weekday,eraиdayPeriodявляются"narrow","short"или"long";year,day,hour,minuteиsecondявляются"numeric","2-digit"или"narrow";monthявляется"numeric","2-digit","narrow","short"или"long";fractionalSecondDigitsявляется1,2или3;timeZoneNameявляется"short","long","shortOffset","longOffset","shortGeneric"или"longGeneric".Если эти свойства были запрошены в
options, конструктор предотвращает указаниеdateStyleиtimeStyle, поэтому группа ниже никогда не будет присутствовать. -
dateStyle,timeStyleНеобязательный -
Значения, предоставленные для этих свойств в аргументе
options. Они являются"full","long","medium","short"или"none". Некоторые из этих свойств могут отсутствовать, что указывает на то, что соответствующие компоненты не будут представлены в отформатированном выводе.Если эти свойства были запрошены в
options, конструктор предотвращает указание отдельных параметров компонентов даты и времени, поэтому группа выше никогда не будет присутствовать.Примечание: Хотя
dateStyleиtimeStyleявляются ярлыками для стилей отдельных компонентов даты и времени, точные (зависящие от локали) стили компонентов, в которые они преобразуются, не включаются в вычисленные параметры. Это гарантирует, что результатresolvedOptions()может быть передан непосредственно в конструкторIntl.DateTimeFormat()(поскольку объектoptionsсdateStyleилиtimeStyleи отдельными стилями компонентов даты или времени не является допустимым).
Примеры
Использование метода 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"
Получение предпочтений пользователя по часовому поясу и локали
Конструктор Intl.DateTimeFormat без каких-либо параметров использует текущие системные настройки. Вы можете использовать resolvedOptions() для получения текущего часового пояса пользователя и предпочтительного календаря и системы счисления локали:
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"
Спецификации
| Спецификация |
|---|
| Спецификация ECMAScript® 2027 Internationalization API # sec-intl.datetimeformat.prototype.resolvedoptions |
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | Bun | Deno | Node.js | |
resolvedOptions |
24 |
12 |
29 |
15 |
10 |
25 |
56 |
14 |
10 |
1.5 |
4.4 |
10 |
1.0.0 |
1.8 |
0.12.0До версии 13.0.0 по умолчанию доступны только данные локали дляen-US. Подробности см. в конструкторе DateTimeFormat(). |
computed_timezone |
35 |
14 |
53 |
30 |
10 |
35 |
56 |
22 |
10 |
3.0 |
37 |
10 |
1.0.0 |
1.8 |
8.10.0 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/resolvedOptions