Класс 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 transition)
Это сравнивает мгновения каждого перехода. Смещения игнорируются, что делает этот порядок несогласованным с equals.
- Определено в:
-
compareToв интерфейсеComparable<ZoneOffsetTransition> - Параметры:
-
transition- переход для сравнения, не null - Возвращает:
- значение компаратора, отрицательное, если меньше, положительное, если больше
equals
public boolean equals(Object other)
Сравнивается все состояние объекта.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
other- другой объект для сравнения, null возвращает false - Возвращает:
- true, если равны
- См. также:
hashCode
public int hashCode()
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- код хэширования
- См. также:
toString
public String toString()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строка для отладки, не null
© 1993, 2021, 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://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/zone/ZoneOffsetTransition.html