Intl.DurationFormat.prototype.formatToParts()
Базовый уровень Недавно стало доступно
Эта функция работает на новейших устройствах и в последних версиях браузеров. Эта функция может не работать на старых устройствах или в старых версиях браузеров. Она доступна в браузерах с марта 2025 года.
Метод formatToParts() экземпляров Intl.DurationFormat возвращает массив объектов, представляющих каждую часть отформатированной строки, которая была бы возвращена методом format(). Он полезен для создания пользовательских строк из локализованных токенов.
Синтаксис
formatToParts(duration)
Параметры
-
durationНеобязательный - Объект длительности для форматирования. Он должен включать некоторые или все из следующих свойств:
years,months,weeks,days,hours,minutes,seconds,milliseconds,microseconds,nanoseconds. Значение каждого свойства должно быть целым числом, и их знаки должны быть согласованы. Это может быть объектTemporal.Duration; см. документациюTemporal.Durationдля получения дополнительной информации об этих свойствах.
Возвращаемое значение
Массив Array объектов, содержащих отформатированную длительность в виде частей. Каждый объект имеет два или три свойства: type, value и, необязательно, unit, каждое из которых содержит строку. Конкатенация строк value в предоставленном порядке приведет к той же строке, что и format(). Части можно рассматривать как полученные напрямую путем вызова Intl.NumberFormat.prototype.formatToParts() с числовым значением и соответствующими единицами измерения. Все токены, которые производятся NumberFormat, имеют дополнительное свойство unit, которое является единственной формой входного unit; это для программного использования и не локализуется. Локализованная единица выводится как отдельный токен unit как часть результата NumberFormat. Части каждой единицы длительности объединяются так же, как при вызове Intl.ListFormat.prototype.formatToParts() с { type: "unit" }, поэтому вставляются дополнительные литеральные токены.
Примеры
Метод formatToParts позволяет локализованное форматирование строк, производимых форматерами DurationFormat, предоставляя вам строку в виде частей:
const duration = {
hours: 7,
minutes: 8,
seconds: 9,
milliseconds: 123,
microseconds: 456,
nanoseconds: 789,
};
new Intl.DurationFormat("en", { style: "long" }).formatToParts(duration);
// Returned value:
[
{ type: "integer", value: "7", unit: "hour" },
{ type: "literal", value: " ", unit: "hour" },
{ type: "unit", value: "hours", unit: "hour" },
{ type: "literal", value: ", " },
{ type: "integer", value: "8", unit: "minute" },
{ type: "literal", value: " ", unit: "minute" },
{ type: "unit", value: "minutes", unit: "minute" },
{ type: "literal", value: ", " },
{ type: "integer", value: "9", unit: "second" },
{ type: "literal", value: " ", unit: "second" },
{ type: "unit", value: "seconds", unit: "second" },
{ type: "literal", value: ", " },
{ type: "integer", value: "123", unit: "millisecond" },
{ type: "literal", value: " ", unit: "millisecond" },
{ type: "unit", value: "milliseconds", unit: "millisecond" },
{ type: "literal", value: ", " },
{ type: "integer", value: "456", unit: "microsecond" },
{ type: "literal", value: " ", unit: "microsecond" },
{ type: "unit", value: "microseconds", unit: "microsecond" },
{ type: "literal", value: ", " },
{ type: "integer", value: "789", unit: "nanosecond" },
{ type: "literal", value: " ", unit: "nanosecond" },
{ type: "unit", value: "nanoseconds", unit: "nanosecond" },
];
Спецификации
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | Bun | Deno | Node.js | |
formatToParts |
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/formatToParts