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
Спецификации
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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.ZonedDateTimeTemporal.ZonedDateTime.prototype.with()Temporal.ZonedDateTime.prototype.add()Temporal.ZonedDateTime.prototype.subtract()Temporal.ZonedDateTime.prototype.timeZoneIdTemporal.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