Spec-Zone.ru › JavaScript

Temporal.ZonedDateTime.prototype.getTimeZoneTransition()

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

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

Метод getTimeZoneTransition() экземпляров Temporal.ZonedDateTime возвращает объект Temporal.ZonedDateTime, представляющий ближайший момент времени до или после данного момента, когда смещение UTC часового пояса изменяется (возвращаемый момент является первым моментом после изменения), или null, если такого перехода нет. Это полезно для определения правил смещения часового пояса, например, его летнего времени.

Обратите внимание, что моменты времени, возвращаемые для будущих событий, могут быть ненадежными, например, из-за изменений в определениях часовых поясов.

Синтаксис

getTimeZoneTransition(direction)
getTimeZoneTransition(options)

Параметры

direction
Строка, представляющая параметр direction. Это удобное перегруженное значение, поэтому getTimeZoneTransition(direction) эквивалентно getTimeZoneTransition({ direction }), где direction — это строка.
options
Объект, содержащий следующее свойство:
direction
Искать до или после текущего момента. Должно быть одно из значений "next" или "previous".

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

Объект Temporal.ZonedDateTime с моментом времени t, такой что:

  • Смещение часового пояса в t отличается от смещения за одну наносекунду до t.
  • t < this.epochNanoseconds, если direction равно "previous", или t > this.epochNanoseconds, если direction равно "next".
  • Для всех моментов времени между this.epochNanoseconds и t (исключая их) смещение постоянно.

Если такого перехода нет, возвращается null.

Примеры

Поиск следующего перехода часового пояса

const dt = Temporal.ZonedDateTime.from("2024-01-01T00-05:00[America/New_York]");
const transition = dt.getTimeZoneTransition("next");
console.log(transition.toString()); // "2024-03-10T03:00:00-04:00[America/New_York]"

const transition2 = transition.getTimeZoneTransition("next");
console.log(transition2.toString()); // "2024-11-03T01:00:00-05:00[America/New_York]"

const transition3 = dt.getTimeZoneTransition("previous");
console.log(transition3.toString()); // "2023-11-05T01:00:00-05:00[America/New_York]"

const dt2 = Temporal.ZonedDateTime.from("2024-01-01T00Z[UTC]");
console.log(dt2.getTimeZoneTransition("next")); // null

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

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

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

Настольные компьютеры Мобильные устройства Сервер
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
getTimeZoneTransition
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.add()
  • Temporal.ZonedDateTime.prototype.subtract()
  • Temporal.ZonedDateTime.prototype.timeZoneId
  • Temporal.ZonedDateTime.prototype.offset

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

Spec-Zone.ru

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