Класс 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
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, 2023, 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/21/docs/api/java.base/java/time/zone/ZoneOffsetTransition.html