Класс ZoneOffsetTransition
- Все реализованные интерфейсы:
-
Serializable,Comparable<ZoneOffsetTransition>
public final class ZoneOffsetTransition extends Object implements Comparable<ZoneOffsetTransition>, Serializable
Переход между двумя смещениями обычно является результатом перехода на летнее время. Разрыв обычно представляет собой пробел весной и перекрытие осенью. ZoneOffsetTransition моделирует переход между двумя смещениями.
Пробелы возникают там, где локальные даты и времена просто не существуют. Например, когда смещение изменяется с +03:00 на +04:00. Это можно описать как «сегодня ночью в 1:00 часы перейдут на один час вперёд».
Перекрытия возникают там, где локальные даты и времена существуют дважды. Например, когда смещение изменяется с +04:00 на +03:00. Это можно описать как «сегодня ночью в 2:00 часы перейдут на один час назад».
- Требования к реализации:
- Этот класс неизменяемый и потокобезопасный.
- С:
- 1.8
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
compareTo |
Сравнивает этот переход с другим на основе момента перехода. |
boolean |
equals |
Проверяет, равен ли этот объект другому. |
LocalDateTime |
getDateTimeAfter() |
Получает локальную дату и время перехода, как было бы выражено с помощью смещения «после». |
LocalDateTime |
getDateTimeBefore() |
Получает локальную дату и время перехода, как было бы выражено с помощью смещения «до». |
Duration |
getDuration() |
Получает продолжительность перехода. |
Instant |
getInstant() |
Получает момент перехода. |
ZoneOffset |
getOffsetAfter() |
Получает смещение после перехода. |
ZoneOffset |
getOffsetBefore() |
Получает смещение до перехода. |
int |
hashCode() |
Возвращает подходящий хэш-код. |
boolean |
isGap() |
Представляет ли этот переход разрыв в локальной временной шкале. |
boolean |
isOverlap() |
Представляет ли этот переход перекрытие в локальной временной шкале. |
boolean |
isValidOffset |
Проверяет, является ли указанное смещение допустимым во время этого перехода. |
static ZoneOffsetTransition |
of |
Получает экземпляр, определяющий переход между двумя смещениями. |
long |
toEpochSecond() |
Получает момент перехода в виде эпохи. |
String |
toString() |
Возвращает строку, описывающую этот объект. |
Подробности методов
of
public static ZoneOffsetTransition of(LocalDateTime transition, ZoneOffset offsetBefore, ZoneOffset offsetAfter)
Приложения обычно должны получать экземпляр из ZoneRules. Этот фабричный метод предназначен только для использования при создании ZoneRules.
- Параметры:
-
transition- дата-время перехода в момент перехода, который фактически никогда не происходит, выраженное относительно смещения до перехода, не null -
offsetBefore- смещение до перехода, не null -
offsetAfter- смещение в момент и после перехода, не null - Возвращает:
- переход, не null
- Исключения:
-
IllegalArgumentException- еслиoffsetBeforeиoffsetAfterравны илиtransition.getNano()возвращает ненулевое значение
getInstant
public Instant getInstant()
Это мгновение разрыва, которое определяется как первое мгновение, когда применяется смещение "после".
Методы getInstant(), getDateTimeBefore() и getDateTimeAfter() все представляют одно и то же мгновение.
- Возвращает:
- мгновение перехода, не null
toEpochSecond
public long toEpochSecond()
- Возвращает:
- эпоху перехода в секундах
getDateTimeBefore
public LocalDateTime getDateTimeBefore()
Это дата-время, где начинается разрыв, выраженное со смещением "до". В этот момент фактически используется смещение "после", поэтому комбинация этой даты-времени и смещения "до" никогда не произойдёт.
Комбинация даты-времени "до" и смещения представляет то же мгновение, что и дата-время "после" и смещение.
- Возвращает:
- дата-время перехода, выраженное со смещением "до", не null
getDateTimeAfter
public LocalDateTime getDateTimeAfter()
Это первая дата-время после разрыва, когда применяется новое смещение.
Комбинация даты-времени "до" и смещения представляет то же мгновение, что и дата-время "после" и смещение.
- Возвращает:
- дата-время перехода, выраженное со смещением "после", не null
getOffsetBefore
public ZoneOffset getOffsetBefore()
Это смещение, используемое до мгновения перехода.
- Возвращает:
- смещение до перехода, не null
getOffsetAfter
public ZoneOffset getOffsetAfter()
Это смещение, используемое в момент и после мгновения перехода.
- Возвращает:
- смещение после перехода, не null
getDuration
public Duration getDuration()
В большинстве случаев продолжительность перехода составляет один час, однако это не всегда так. Продолжительность будет положительной для разрыва и отрицательной для наложения. Часовые пояса измеряются в секундах, поэтому наносекундная часть продолжительности будет равна нулю.
- Возвращает:
- продолжительность перехода, положительная для разрывов, отрицательная для наложений
isGap
public boolean isGap()
Разрывы возникают, когда локальные даты-времена просто не существуют. Примером является изменение смещения с +01:00 на +02:00. Это можно описать как «сегодня ночью в 1 час часы перейдут вперёд на один час».
- Возвращает:
- true, если этот переход представляет собой разрыв, false, если это наложение
isOverlap
public boolean isOverlap()
Наложения возникают, когда локальные даты-времена существуют дважды. Примером является изменение смещения с +02:00 на +01:00. Это можно описать как «сегодня ночью в 2 часа часы перейдут назад на один час».
- Возвращает:
- true, если этот переход представляет собой наложение, false, если это разрыв
isValidOffset
public boolean isValidOffset(ZoneOffset offset)
Это проверяет, будет ли заданное смещение допустимым в какой-то момент перехода. Разрыв всегда вернёт false. Наложение вернёт true, если смещение является либо смещением "до", либо смещением "после".
- Параметры:
-
offset- смещение для проверки, null возвращает false - Возвращает:
- true, если смещение допустимо во время перехода
compareTo
public int compareTo(ZoneOffsetTransition otherTransition)
Это сравнивает мгновения каждого перехода. Смещения игнорируются, что делает этот порядок несовместимым с equals.
- Определено в:
-
compareToв интерфейсеComparable<ZoneOffsetTransition> - Параметры:
-
otherTransition- переход для сравнения, не null - Возвращает:
- значение компаратора, то есть сравнение мгновения этого перехода с мгновением
otherTransition
equals
hashCode
toString
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/time/zone/ZoneOffsetTransition.html