Temporal.PlainDate.prototype.toLocaleString()
Базовый уровень Ограниченная доступность
Эта функция не является базовой, так как она не работает в некоторых из наиболее широко используемых браузеров.
Метод toLocaleString() экземпляров Temporal.PlainDate возвращает строку с представлением даты, соответствующим языку. В реализациях с поддержкой API Intl.DateTimeFormat этот метод делегирует Intl.DateTimeFormat.
Каждый раз, когда вызывается toLocaleString, ему приходится выполнять поиск в большой базе данных строк локализации, что потенциально неэффективно. Когда метод вызывается много раз с одинаковыми аргументами, лучше создать объект Intl.DateTimeFormat и использовать его метод format(), поскольку объект DateTimeFormat запоминает переданные ему аргументы и может решить кэшировать часть базы данных, чтобы будущие вызовы format могли искать строки локализации в более ограниченном контексте.
Синтаксис
toLocaleString() toLocaleString(locales) toLocaleString(locales, options)
Параметры
Параметры locales и options настраивают поведение функции и позволяют приложениям указывать язык, соглашения о форматировании которого следует использовать.
В реализациях, поддерживающих API Intl.DateTimeFormat, эти параметры точно соответствуют параметрам конструктора Intl.DateTimeFormat(). Реализации без поддержки Intl.DateTimeFormat возвращают ту же строку, что и toString(), игнорируя оба параметра.
-
localesНеобязательно - Строка с тегом языка BCP 47 или массив таких строк. Соответствует параметру
localesконструктораIntl.DateTimeFormat(). -
optionsНеобязательно - Объект, настраивающий формат вывода. Соответствует параметру
optionsконструктораIntl.DateTimeFormat(). Если календарь этой даты не является"iso8601", параметрcalendarдолжен быть предоставлен с тем же значением; в противном случае, если календарь этой даты является"iso8601", параметрcalendarможет иметь любое значение. Относительно параметров компонентов даты и времени и сокращений стиля (dateStyleиtimeStyle), параметры должны следовать одной из этих форм:- Не предоставлять ни одного из них:
year,monthиdayпо умолчанию будут"numeric". - Предоставить только
dateStyle: это разворачивается в форматыweekday,era,year,monthиday. - Предоставить некоторые параметры компонентов даты и времени, где по крайней мере один из них является параметром даты (
weekday,year,month,day). В выводе будут включены только указанные компоненты даты.
- Не предоставлять ни одного из них:
Подробнее об этих параметрах и способах их использования см. в конструкторе Intl.DateTimeFormat().
Возвращаемое значение
Строка, представляющая данную дату в соответствии с языковыми соглашениями.
В реализациях с Intl.DateTimeFormat это эквивалентно new Intl.DateTimeFormat(locales, options).format(date), где options было нормализовано, как описано выше.
Примечание: В большинстве случаев форматирование, возвращаемое toLocaleString(), согласовано. Однако вывод может различаться между реализациями, даже в пределах одного локального языка — вариации вывода предусмотрены и допускаются спецификацией. Он также может отличаться от ожидаемого. Например, строка может использовать неразрывные пробелы или быть окружена двунаправленными управляющими символами. Не следует сравнивать результаты toLocaleString() с жестко закодированными константами.
Исключения
-
RangeError - Выбрасывается, если любой из параметров недействителен.
-
TypeError - Выбрасывается, если любой из параметров не имеет ожидаемого типа.
Примеры
Использование toLocaleString()
Базовое использование этого метода без указания locale возвращает форматированную строку в локали по умолчанию и с параметрами по умолчанию.
const date = Temporal.PlainDate.from("2021-08-01");
console.log(date.toLocaleString()); // 8/1/2021 (assuming en-US locale)
Если календарь даты не совпадает с календарем по умолчанию для локали, а календарь даты не является iso8601, необходимо явно указать параметр calendar с тем же значением.
const date = Temporal.PlainDate.from("2021-08-01[u-ca=japanese]");
// The ja-JP locale uses the Gregorian calendar by default
date.toLocaleString("ja-JP", { calendar: "japanese" }); // R3/8/1
Использование toLocaleString() с параметрами
Вы можете настроить, какие части даты будут включены в вывод, предоставив параметр options.
const date = Temporal.PlainDate.from("2021-08-01");
date.toLocaleString("en-US", { dateStyle: "full" }); // Sunday, August 1, 2021
date.toLocaleString("en-US", {
year: "numeric",
month: "long",
day: "numeric",
}); // August 1, 2021
date.toLocaleString("en-US", { year: "numeric", month: "long" }); // August 2021
Спецификации
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | Bun | Deno | Node.js | |
toLocaleString |
144 |
144 |
139 |
128 |
preview |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
См. также
Temporal.PlainDateIntl.DateTimeFormatTemporal.PlainDate.prototype.toJSON()Temporal.PlainDate.prototype.toString()
© 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/Temporal/PlainDate/toLocaleString