Spec-Zone.ru › JavaScript

Temporal.PlainTime.prototype.toLocaleString()

Базовая доступность Ограниченная доступность

Эта функция не является базовой, поскольку она не работает в некоторых из наиболее широко используемых браузеров.

Метод toLocaleString() экземпляров Temporal.PlainTime возвращает строку с зависящим от языка представлением этого времени. В реализациях с поддержкой 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(). Что касается опций компонентов даты/времени и сокращений стилей (dateStyle и timeStyle), опции должны соответствовать одной из следующих форм:
  • Не предоставлять ни одну из них: hour, minute и second по умолчанию будут иметь значение "numeric".
  • Предоставить только timeStyle: это раскрывается в форматы dayPeriod, hour, minute, second и fractionalSecondDigits.
  • Предоставить некоторые опции компонентов даты/времени, где хотя бы одна из них является опцией времени (dayPeriod, hour, minute, second, fractionalSecondDigits). В вывод будут включены только указанные компоненты времени.

Подробности об этих параметрах и способах их использования см. в конструкторе Intl.DateTimeFormat().

Возвращаемое значение

Строка, представляющая заданное время в соответствии с языковыми соглашениями.

В реализациях с Intl.DateTimeFormat это эквивалентно new Intl.DateTimeFormat(locales, options).format(time), где options был нормализован, как описано выше.

Примечание: В большинстве случаев форматирование, возвращаемое toLocaleString(), является согласованным. Однако вывод может различаться в разных реализациях, даже в пределах одной и той же локали — вариации вывода предусмотрены разработкой и разрешены спецификацией. Он также может оказаться не таким, как вы ожидаете. Например, строка может использовать неразрывные пробелы или быть окружена двунаправленными управляющими символами. Вам не следует сравнивать результаты toLocaleString() с жестко заданными константами.

Исключения

RangeError
Выбрасывается, если любая из опций недопустима.
TypeError
Выбрасывается, если любая из опций не соответствует ожидаемому типу.

Примеры

Использование toLocaleString()

Базовое использование этого метода без указания locale возвращает отформатированную строку в локали по умолчанию и с настройками по умолчанию.

const time = Temporal.PlainTime.from("12:34:56");

console.log(time.toLocaleString()); // 12:34:56 PM (assuming en-US locale)

Использование toLocaleString() с опциями

Вы можете настроить, какие части времени будут включены в вывод, предоставив параметр options.

const time = Temporal.PlainTime.from("12:34:56");
time.toLocaleString("en-US", { timeStyle: "short" }); // 12:34 PM
time.toLocaleString("en-US", { hour: "2-digit" }); // 12 PM

Спецификации

Спецификация
Temporal
# sec-temporal.plaintime.prototype.tolocalestring

Совместимость с браузерами

Десктопные Мобильные Серверные
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
toLocaleString
144
144
139
128
preview
144
139
95
Нет
Нет
144
Нет
1.4.0
2.7
26.0.0

См. также

  • Temporal.PlainTime
  • Intl.DateTimeFormat
  • Temporal.PlainTime.prototype.toJSON()
  • Temporal.PlainTime.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/PlainTime/toLocaleString

Spec-Zone.ru

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