Spec-Zone.ru › JavaScript

Temporal.ZonedDateTime.prototype.toString()

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

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

Метод toString() экземпляров Temporal.ZonedDateTime возвращает строку, представляющую эту дату-время в формате RFC 9557.

Синтаксис

toString()
toString(options)

Параметры

options Необязательный
Объект, содержащий следующее свойство:
calendarName Необязательный
Показывать ли аннотацию календаря ([u-ca=calendar_id]) в возвращаемом значении. Возможные значения:
"auto" (по умолчанию)
Включить аннотацию календаря, если календарь не является "iso8601".
"always"
Всегда включать аннотацию календаря.
"never"
Никогда не включать аннотацию календаря. Это делает возвращаемую строку невосстановимой до того же экземпляра Temporal.ZonedDateTime, хотя значение даты остается прежним.
"critical"
Всегда включать аннотацию календаря и добавлять критический флаг: [!u-ca=calendar_id]. Полезно при отправке строки в определенные системы, но бесполезно для самого Temporal.
fractionalSecondDigits Необязательный
Целое число от 0 до 9 или строка "auto". По умолчанию "auto". Если "auto", то конечные нули отбрасываются от дробных секунд. В противном случае дробная часть компонента секунд содержит это количество цифр, дополненное нулями или округленное по мере необходимости.
roundingMode Необязательный
Строка, определяющая, как округлять дробные доли секунд за пределами fractionalSecondDigits. См. Intl.NumberFormat(). По умолчанию "trunc".
smallestUnit Необязательный
Строка, определяющая наименьшую единицу, включаемую в вывод. Возможные значения: "minute", "second", "millisecond", "microsecond" и "nanosecond", или их множественные формы, которые (кроме "minute") эквивалентны значениям fractionalSecondDigits 0, 3, 6, 9 соответственно. Если указано, то fractionalSecondDigits игнорируется.
timeZoneName Необязательный
Показывать ли имя часового пояса ([time_zone_id]) в возвращаемом значении. Возможные значения:
"auto" (по умолчанию)
Всегда включать имя часового пояса.
"never"
Никогда не включать имя часового пояса. Это делает возвращаемую строку невосстановимой до того же экземпляра Temporal.ZonedDateTime.
"critical"
Всегда включать имя часового пояса и добавлять критический флаг: [!time)zone_id]. Полезно при отправке строки в определенные системы, но бесполезно для самого Temporal.
offset Необязательный
Показывать ли смещение (±HH:mm) в возвращаемом значении. Возможные значения:
"auto" (по умолчанию)
Всегда включать смещение.
"never"
Никогда не включать смещение. Это делает возвращаемую строку невосстановимой до того же экземпляра Temporal.ZonedDateTime, если часовой пояс включен, но время неоднозначно, или если часовой пояс также не включен.

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

Строка в формате RFC 9557, представляющая эту дату-время. Смещение и аннотации календаря/часового пояса включены согласно спецификации.

Исключения

RangeError
Выбрасывается, если какой-либо из параметров недопустим.
TypeError
Выбрасывается, если options не является объектом или undefined.

Примеры

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

const zdt = Temporal.ZonedDateTime.from(
  "2021-08-01T12:34:56[America/New_York]",
);
console.log(zdt.toString()); // '2021-08-01T12:34:56-04:00[America/New_York]'

Даже для часового пояса UTC смещение равно +00:00, а не Z:

const zdt = Temporal.ZonedDateTime.from("2021-08-01T12:34:56[UTC]");
console.log(zdt.toString()); // '2021-08-01T12:34:56+00:00[UTC]'

Использование параметров

Примеры округления времени см. в Temporal.PlainTime.prototype.toString(). Примеры отображения календарей см. в Temporal.PlainDate.prototype.toString(). Здесь мы показываем управление отображением часового пояса и смещения:

const zdt = Temporal.ZonedDateTime.from(
  "2021-08-01T12:34:56[America/New_York]",
);
console.log(zdt.toString({ timeZoneName: "auto", offset: "never" })); // '2021-08-01T12:34:56[America/New_York]'
console.log(zdt.toString({ timeZoneName: "never", offset: "auto" })); // '2021-08-01T12:34:56-04:00'
console.log(zdt.toString({ timeZoneName: "never", offset: "never" })); // '2021-08-01T12:34:56'
console.log(zdt.toString({ timeZoneName: "critical", offset: "never" })); // '2021-08-01T12:34:56[!America/New_York]'

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

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

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

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

См. также

  • Temporal.ZonedDateTime
  • Temporal.ZonedDateTime.from()
  • Temporal.ZonedDateTime.prototype.toJSON()
  • Temporal.ZonedDateTime.prototype.toLocaleString()

© 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/ZonedDateTime/toString

Spec-Zone.ru

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