Класс 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() |
Возвращает строку с описанием этого объекта. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
protected void |
finalize() |
Устарел и предназначен для удаления: этот элемент API может быть удалён в будущей версии. Финализация устарела и может быть удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Переводит текущий поток в ожидание до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Переводит текущий поток в ожидание до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
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. Это можно описать так: «сегодня ночью в час ночи часы переведут на час вперёд».
- Возвращает:
- 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.