Spec-Zone.ru › JavaScript

Temporal.ZonedDateTime.prototype.withTimeZone()

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

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

Метод withTimeZone() экземпляров Temporal.ZonedDateTime возвращает новый объект Temporal.ZonedDateTime, представляющий тот же момент времени, что и эта дата-время, но в новой часовой зоне. Поскольку все объекты Temporal разработаны как неизменяемые, этот метод фактически функционирует как установщик свойства timeZoneId даты-время.

Чтобы заменить свойства компонентов даты-времени, используйте метод with(). Чтобы заменить календарь, используйте метод withCalendar().

Синтаксис

withTimeZone(timeZone)

Параметры

timeZone
Строка или экземпляр Temporal.ZonedDateTime, представляющий используемую часовую зону. Если это экземпляр Temporal.ZonedDateTime, используется его часовая зона. Если это строка, она может быть идентификатором именованной часовой зоны, идентификатором часовой зоны со смещением или строкой даты-времени, содержащей идентификатор часовой зоны или смещение (см. часовые зоны и смещения для получения дополнительной информации).

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

Новый объект Temporal.ZonedDateTime, представляющий тот же момент времени, что и эта дата-время, но в новой часовой зоне.

Исключения

TypeError
Выбрасывается, если timeZone не является строкой или экземпляром Temporal.ZonedDateTime.
RangeError
Выбрасывается, если имя часовой зоны недопустимо.

Примеры

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

const meetingTime = Temporal.ZonedDateTime.from(
  "2021-08-01T12:00[America/New_York]",
);
const meetingTimeInParis = meetingTime.withTimeZone("Europe/Paris");
console.log(meetingTimeInParis.toString()); // 2021-08-01T18:00:00+02:00[Europe/Paris]

Замена часовой зоны с сохранением того же времени по часам

В редких случаях, когда вы хотите сохранить время по часам, но изменить часовую зону (и получить другой момент времени), сначала преобразуйте его в Temporal.PlainDateTime:

const meetingTime = Temporal.ZonedDateTime.from(
  "2021-08-01T12:00[America/New_York]",
);
const meetingTimeInParis = meetingTime
  .toPlainDateTime()
  .toZonedDateTime("Europe/Paris");
console.log(meetingTimeInParis.toString()); // 2021-08-01T12:00:00+02:00[Europe/Paris]

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

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

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

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

См. также

  • Temporal.ZonedDateTime
  • Temporal.ZonedDateTime.prototype.with()
  • Temporal.ZonedDateTime.prototype.withCalendar()
  • Temporal.ZonedDateTime.prototype.withPlainTime()
  • Temporal.ZonedDateTime.from()
  • Temporal.ZonedDateTime.prototype.timeZoneId

© 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/withTimeZone

Spec-Zone.ru

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