Конструктор Intl.DurationFormat()
Базовая поддержка Новая функция
Эта функция работает на новейших устройствах и версиях браузеров. Эта функция может не работать на старых устройствах или версиях браузеров. Она доступна во всех браузерах с марта 2025 года.
Конструктор Intl.DurationFormat() создает объекты Intl.DurationFormat.
Синтаксис
new Intl.DurationFormat() new Intl.DurationFormat(locales) new Intl.DurationFormat(locales, options)
Примечание: Intl.DurationFormat() может быть сконструирован только с использованием new. Попытка вызвать его без new вызовет ошибку TypeError.
Параметры
-
localesНеобязательный -
Строка с тег языка BCP 47 или экземпляр
Intl.Locale, или массив таких идентификаторов локали. При использованииundefinedили когда ни один из указанных идентификаторов локали не поддерживается, используется локаль по умолчанию среды выполнения. Общая форма и интерпретация аргументаlocalesсм. в описании параметра на основной страницеIntl.Разрешен следующий ключ расширения Unicode:
-
nu - См.
numberingSystem.
Этот ключ также может быть установлен с помощью
options(как указано ниже). Когда оба установлены, свойствоoptionsимеет приоритет. -
-
optionsНеобязательный - Объект, содержащий следующие свойства, в порядке их получения (все они необязательны):
-
localeMatcher - Алгоритм сопоставления локали для использования. Возможные значения:
"lookup"и"best fit"; по умолчанию"best fit". Для получения информации об этой опции см. Идентификация и согласование локали. -
numberingSystem - Система нумерации для форматирования чисел, такая как
"arab","hans","mathsans"и т. д. Список поддерживаемых типов систем нумерации см. вIntl.supportedValuesOf(); по умолчанию зависит от локали. Эта опция также может быть установлена через ключ расширения Unicodenu; если указаны оба, это свойствоoptionsимеет приоритет. -
style - Стиль форматирования продолжительности. Это значение используется по умолчанию для всех других опций единиц измерения, а также соответствует опции
styleIntl.ListFormat()при объединении списка единиц продолжительности. Возможные значения:-
"long" - Например, 1 час и 50 минут
-
"short"(по умолчанию) - Например, 1 ч, 50 мин
-
"narrow" - Например, 1ч 50м
-
"digital" - Например, 1:50:00
-
-
years - Стиль форматирования лет. Возможные значения:
"long","short"и"narrow"; по умолчаниюoptions.style, если"digital"не указано, и"short"в противном случае. -
yearsDisplay - Всегда отображать годы или только если они ненулевые. Возможные значения:
"always"и"auto"; по умолчанию"auto", еслиyearsне указано, и"always"в противном случае. -
months - Стиль форматирования месяцев. Возможные значения:
"long","short"и"narrow"; по умолчаниюoptions.style, если"digital"не указано, и"short"в противном случае. -
monthsDisplay - Всегда отображать месяцы или только если они ненулевые. Возможные значения:
"always"и"auto"; по умолчанию"auto", еслиmonthsне указано, и"always"в противном случае. -
weeks - Стиль форматирования недель. Возможные значения:
"long","short"и"narrow"; по умолчаниюoptions.style, если"digital"не указано, и"short"в противном случае. -
weeksDisplay - Всегда отображать недели или только если они ненулевые. Возможные значения:
"always"и"auto"; по умолчанию"auto", еслиweeksне указано, и"always"в противном случае. -
days - Стиль форматирования дней. Возможные значения:
"long","short"и"narrow"; по умолчаниюoptions.style, если"digital"не указано, и"short"в противном случае. -
daysDisplay - Всегда отображать дни или только если они ненулевые. Возможные значения:
"always"и"auto"; по умолчанию"auto", еслиdaysне указано, и"always"в противном случае. -
hours - Стиль форматирования часов. Возможные значения:
"long","short","narrow","numeric"и"2-digit"; по умолчаниюoptions.style, если"digital"не указано, и"numeric"в противном случае. -
hoursDisplay - Всегда отображать часы или только если они ненулевые. Возможные значения:
"always"и"auto"; по умолчанию"auto", еслиhoursне указано иoptions.styleне является"digital", и"always"в противном случае. -
minutes - Стиль форматирования минут.
- Если
hoursявляется"numeric"или"2-digit", возможные значения:"numeric"и"2-digit", а"numeric"нормализуется до"2-digit"; по умолчанию"numeric". - В противном случае возможные значения:
"long","short","narrow","numeric"и"2-digit"; по умолчаниюoptions.style, если"digital"не указано, и"numeric"в противном случае.
- Если
-
minutesDisplay - Всегда отображать минуты или только если они ненулевые. Возможные значения:
"always"и"auto"; по умолчанию"auto", еслиminutesне указано иoptions.styleне является"digital", и"always"в противном случае. -
seconds - Стиль форматирования секунд.
- Если
minutesявляется"numeric"или"2-digit", возможные значения:"numeric"и"2-digit", а"numeric"нормализуется до"2-digit"; по умолчанию"numeric". - В противном случае возможные значения:
"long","short","narrow","numeric"и"2-digit"; по умолчаниюoptions.style, если"digital"не указано, и"numeric"в противном случае.
- Если
-
secondsDisplay - Всегда отображать секунды или только если они ненулевые. Возможные значения:
"always"и"auto"; по умолчанию"auto", еслиsecondsне указано иoptions.styleне является"digital", и"always"в противном случае. -
milliseconds - Стиль форматирования миллисекунд.
- Если
secondsявляется"numeric"или"2-digit", единственное возможное значение:"numeric"; по умолчанию"numeric". - В противном случае возможные значения:
"long","short","narrow"и"numeric"; по умолчаниюoptions.style, если"digital"не указано, и"numeric"в противном случае.
- Если
-
millisecondsDisplay - Всегда отображать миллисекунды или только если они ненулевые.
- Если
secondsявляется"numeric"или"2-digit", единственное возможное значение:"auto"; по умолчанию только"auto", когдаmillisecondsне указано. - В противном случае возможные значения:
"always"и"auto"; по умолчанию"auto", еслиmillisecondsне указано, и"always"в противном случае.
- Если
-
microseconds - Стиль форматирования микросекунд.
- Если
millisecondsявляется"numeric", единственное возможное значение:"numeric"; по умолчанию"numeric". - В противном случае возможные значения:
"long","short","narrow"и"numeric"; по умолчаниюoptions.style, если"digital"не указано, и"numeric"в противном случае.
- Если
-
microsecondsDisplay - Всегда отображать микросекунды или только если они ненулевые.
- Если
millisecondsявляется"numeric", единственное возможное значение:"auto"; по умолчанию только"auto", когдаmicrosecondsне указано. - В противном случае возможные значения:
"always"и"auto"; по умолчанию"auto", еслиmicrosecondsне указано, и"always"в противном случае.
- Если
-
nanoseconds - Стиль форматирования наносекунд.
- Если
microsecondsявляется"numeric", единственное возможное значение:"numeric"; по умолчанию"numeric". - В противном случае возможные значения:
"long","short","narrow"и"numeric"; по умолчаниюoptions.style, если"digital"не указано, и"numeric"в противном случае.
- Если
-
nanosecondsDisplay - Всегда отображать наносекунды или только если они ненулевые.
- Если
microsecondsявляется"numeric", единственное возможное значение:"auto"; по умолчанию только"auto", когдаnanosecondsне указано. - В противном случае возможные значения:
"always"и"auto"; по умолчанию"auto", еслиnanosecondsне указано, и"always"в противном случае.
- Если
-
fractionalDigits - Количество десятичных цифр после запятой для отображения в результате. Возможные значения от
0до9; по умолчаниюundefined(включать столько десятичных цифр, сколько необходимо).
-
Исключения
-
RangeError - Выбрасывается, если
localesилиoptionsсодержат недопустимые значения.
Описание
Для каждого сегмента времени под капотом создается объект Intl.NumberFormat. Он использует следующие опции (см. Intl.NumberFormat() для получения подробной информации):
-
numberingSystem: значениеoptions.numberingSystem
Когда milliseconds, microseconds или nanoseconds используют стиль "numeric", также используются следующие опции:
-
minimumFractionDigits:0, когдаoptions.fractionalDigitsравенundefined, в противном случаеoptions.fractionalDigits -
maximumFractionDigits:9, когдаoptions.fractionalDigitsравенundefined, в противном случаеoptions.fractionalDigits -
roundingMode:"trunc"
Когда сегмент времени использует стиль "2-digit", также используются следующие опции:
-
minimumIntegerDigits:2
Когда сегмент времени использует стиль "long", "short" или "narrow", также используются следующие опции:
-
style:"unit", когда"long","short"или"narrow"указаны, в противном случаеundefined -
unit: текущая форматируемая единица ("years","days","nanoseconds"и т. д.) -
unitDisplay: значение стиля временного сегмента ("long","short"или"narrow")
Примеры
Использование конструктора Intl.DurationFormat()
const duration = {
hours: 2,
minutes: 20,
seconds: 35,
};
console.log(new Intl.DurationFormat("pt", { style: "long" }).format(duration));
// "2 horas, 20 minutos e 35 segundos"
Спецификации
Совместимость с браузерами
| Настольные ПК | Мобильные | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
DurationFormat |
129 |
129 |
136 |
115 |
16.4 |
129 |
136 |
86 |
16.4 |
28.0 |
129 |
16.4 |
1.0.3 |
1.46 |
23.0.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/DurationFormat/DurationFormat