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]
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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.ZonedDateTimeTemporal.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