Класс 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/zone/ZoneOffsetTransition.html