Класс ZoneOffsetTransition
- Все реализуемые интерфейсы:
Serializable, Comparable<ZoneOffsetTransition>
public final class ZoneOffsetTransition extends Object implements Comparable<ZoneOffsetTransition>, Serializable
Переход между двумя смещениями обычно является результатом перехода на летнее время. Разрыв обычно представляет собой пропуск весной и повторение интервала времени осенью. ZoneOffsetTransition моделирует переход между двумя смещениями.
Пропуски возникают, когда существуют локальные значения даты и времени, которые просто не существуют. Например, смещение меняется с +03:00 на +04:00. Это можно описать так: «сегодня ночью в час часы переведут на час вперёд».
Повторения возникают, когда локальные значения даты и времени существуют дважды. Например, смещение меняется с +04:00 на +03: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. Это можно описать так: «сегодня ночью в час часы переведут на час вперёд».
- Возвращает:
- true, если этот переход является пропуском; false, если он является повторением
isOverlap
public boolean isOverlap()
Повторения возникают, когда локальные значения даты и времени существуют дважды. Например, смещение меняется с +02:00 на +01:00. Это можно описать так: «сегодня ночью в два часа часы переведут на час назад».
- Возвращает:
- 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/time/zone/ZoneOffsetTransition.html