Spec-Zone.ru › JavaScript

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

См. также

  • Intl.DateTimeFormat

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API