Класс ZoneOffsetTransition
- java.lang.Object
-
- java.time.zone.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(ZoneOffsetTransition transition) Сравнивает этот переход с другим на основе момента перехода. |
boolean |
equals(Object other) Проверяет, равен ли этот объект другому. |
LocalDateTime |
getDateTimeAfter() Возвращает локальную дату и время перехода, как оно было бы выражено со смещением «после». |
LocalDateTime |
getDateTimeBefore() Возвращает локальную дату и время перехода, как оно было бы выражено со смещением «до». |
Duration |
getDuration() Возвращает длительность перехода. |
Instant |
getInstant() Возвращает момент перехода. |
ZoneOffset |
getOffsetAfter() Возвращает смещение после перехода. |
ZoneOffset |
getOffsetBefore() Возвращает смещение перед переходом. |
int |
hashCode() Возвращает подходящий хэш-код. |
boolean |
isGap() Представляет ли этот переход разрыв в локальной временной шкале. |
boolean |
isOverlap() Представляет ли этот переход перекрытие в локальной временной шкале. |
boolean |
isValidOffset(ZoneOffset offset) Проверяет, является ли указанное смещение допустимым во время этого перехода. |
static ZoneOffsetTransition |
of(LocalDateTime transition,
ZoneOffset offsetBefore,
ZoneOffset offsetAfter) Получает экземпляр, определяющий переход между двумя смещениями. |
long |
toEpochSecond() Возвращает момент перехода в виде эпохи секунд. |
String |
toString() Возвращает строку, описывающую этот объект. |
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы
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:00».
- Возвращает:
- true, если этот переход является разрывом, false, если это перекрытие
isOverlap
public boolean isOverlap()
Представляет ли этот переход перекрытие в локальной временной шкале.
Перекрытия возникают там, где локальные даты и времена существуют дважды. Примером может служить изменение смещения с +02:00 на +01:00. Это можно описать как «сегодня ночью часы переведут на один час назад в 2:00».
- Возвращает:
- 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, если равны
- См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Возвращает подходящий хэш-код.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- хэш-код
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
toString
public String toString()
Возвращает строку, описывающую этот объект.
© 1993, 2020, 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.