Spec-Zone.ru › OpenJDK 17

Интерфейс ChronoZonedDateTime<D extends ChronoLocalDate>

Параметры типа:
D - конкретный тип для даты этого момента времени
Все суперинтерфейсы:
Comparable<ChronoZonedDateTime<?>>, Temporal, TemporalAccessor
Все известные реализующие классы:
ZonedDateTime
public interface ChronoZonedDateTime<D extends ChronoLocalDate> extends Temporal, Comparable<ChronoZonedDateTime<?>>
Момент времени с часовым поясом в произвольной хронологии, предназначенный для расширенных случаев глобализации.

Большинство приложений должны объявлять сигнатуры методов, поля и переменные как ZonedDateTime, а не этот интерфейс.

ChronoZonedDateTime — это абстрактное представление момента времени со смещением, где Chronology chronology, или календарная система, подключается динамически. Момент времени определяется в терминах полей, выраженных через TemporalField, где большинство распространённых реализаций определены в ChronoField. Хронология определяет, как работает календарная система и значение стандартных полей.

Когда использовать этот интерфейс

Дизайн API рекомендует использовать ZonedDateTime вместо этого интерфейса, даже в случае, если приложению необходимо иметь дело с несколькими календарными системами. Обоснование этого подробно рассмотрено в ChronoLocalDate.

Убедитесь, что обсуждение в ChronoLocalDate было прочитано и понято перед использованием этого интерфейса.

Требования к реализации:
Этот интерфейс должен быть реализован с осторожностью, чтобы обеспечить корректную работу других классов. Все реализуемые классы, которые могут быть созданы, должны быть final, неизменяемыми и потокобезопасными. Подклассы должны быть сериализуемыми, где это возможно.
С:
1.8

Краткое описание методов

Модификатор и тип Метод Описание
default int compareTo(ChronoZonedDateTime<?> other)
Сравнивает этот момент времени с другим моментом времени, включая хронологию.
boolean equals(Object obj)
Проверяет, равен ли этот момент времени другому моменту времени.
default String format(DateTimeFormatter formatter)
Форматирует этот момент времени с использованием указанного форматера.
static ChronoZonedDateTime<?> from(TemporalAccessor temporal)
Получает экземпляр ChronoZonedDateTime из временного объекта.
default Chronology getChronology()
Получает хронологию этого момента времени.
default long getLong(TemporalField field)
Получает значение указанного поля в виде long.
ZoneOffset getOffset()
Получает смещение часового пояса, например '+01:00'.
ZoneId getZone()
Получает идентификатор часового пояса, например 'Europe/Paris'.
int hashCode()
Хеш-код этого момента времени.
default boolean isAfter(ChronoZonedDateTime<?> other)
Проверяет, является ли момент этого времени после момента указанного момента времени.
default boolean isBefore(ChronoZonedDateTime<?> other)
Проверяет, является ли момент этого времени до момента указанного момента времени.
default boolean isEqual(ChronoZonedDateTime<?> other)
Проверяет, равен ли момент этого времени моменту указанного момента времени.
boolean isSupported(TemporalField field)
Проверяет, поддерживается ли указанное поле.
default boolean isSupported(TemporalUnit unit)
Проверяет, поддерживается ли указанная единица.
default ChronoZonedDateTime<D> minus(long amountToSubtract, TemporalUnit unit)
Возвращает объект того же типа, что и этот объект, с вычтенным указанным периодом.
default ChronoZonedDateTime<D> minus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с вычтенным количеством.
ChronoZonedDateTime<D> plus(long amountToAdd, TemporalUnit unit)
Возвращает объект того же типа, что и этот объект, с добавленным указанным периодом.
default ChronoZonedDateTime<D> plus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с добавленным количеством.
default <R> R query(TemporalQuery<R> query)
Запрашивает этот момент времени с использованием указанного запроса.
static Comparator<ChronoZonedDateTime<?>> timeLineOrder()
Получает компаратор, который сравнивает ChronoZonedDateTime в порядке временной линии, игнорируя хронологию.
default long toEpochSecond()
Преобразует этот момент времени в количество секунд с начала эпохи 1970-01-01T00:00:00Z.
default Instant toInstant()
Преобразует этот момент времени в Instant.
default D toLocalDate()
Получает локальную дату этого момента времени.
ChronoLocalDateTime<D> toLocalDateTime()
Получает локальный момент времени этого момента времени.
default LocalTime toLocalTime()
Получает локальное время этого момента времени.
String toString()
Выводит этот момент времени как String.
default ChronoZonedDateTime<D> with(TemporalAdjuster adjuster)
Возвращает измененный объект того же типа, что и этот объект, с произведенным изменением.
ChronoZonedDateTime<D> with(TemporalField field, long newValue)
Возвращает объект того же типа, что и этот объект, с изменённым указанным полем.
ChronoZonedDateTime<D> withEarlierOffsetAtOverlap()
Возвращает копию этого момента времени, изменяя смещение часового пояса на более раннее из двух допустимых смещений при перекрытии временной линии.
ChronoZonedDateTime<D> withLaterOffsetAtOverlap()
Возвращает копию этого момента времени, изменяя смещение часового пояса на более позднее из двух допустимых смещений при перекрытии временной линии.
ChronoZonedDateTime<D> withZoneSameInstant(ZoneId zone)
Возвращает копию этого момента времени с другим часовым поясом, сохраняя момент.
ChronoZonedDateTime<D> withZoneSameLocal(ZoneId zone)
Возвращает копию этого момента времени с другим часовым поясом, сохраняя локальный момент времени, если это возможно.

Методы, объявленные в интерфейсе java.time.temporal.Temporal

until

Методы, объявленные в интерфейсе java.time.temporal.TemporalAccessor

get, range

Подробное описание методов

timeLineOrder

static Comparator<ChronoZonedDateTime<?>> timeLineOrder()
Получает компаратор, сравнивающий ChronoZonedDateTime в порядке временной линии, игнорируя хронологию.

Этот компаратор отличается от сравнения в compareTo(java.time.chrono.ChronoZonedDateTime<?>) тем, что он сравнивает только базовый момент времени, а не хронологию. Это позволяет сравнивать даты в разных календарных системах на основе положения даты и времени на временной линии момента. Основанное сравнение эквивалентно сравниванию эпохи в секундах и наносекунд.

Возвращает:
компаратор, сравнивающий в порядке временной линии, игнорируя хронологию
См. также:
  • isAfter(java.time.chrono.ChronoZonedDateTime<?>)
  • isBefore(java.time.chrono.ChronoZonedDateTime<?>)
  • isEqual(java.time.chrono.ChronoZonedDateTime<?>)

from

static ChronoZonedDateTime<?> from(TemporalAccessor temporal)
Получает экземпляр ChronoZonedDateTime из временного объекта.

Это создает дату и время в часовом поясе на основе указанного временного объекта. TemporalAccessor представляет собой произвольный набор информации о дате и времени, которую этот фабричный метод преобразует в экземпляр ChronoZonedDateTime.

Преобразование извлекает и объединяет хронологию, дату, время и часовой пояс из временного объекта. Поведение эквивалентно использованию Chronology.zonedDateTime(TemporalAccessor) с извлеченной хронологией. Реализации разрешается выполнять оптимизации, такие как доступ к тем полям, которые эквивалентны соответствующим объектам.

Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, позволяя использовать его в качестве запроса с помощью ссылки на метод, ChronoZonedDateTime::from.

Параметры:
temporal - временной объект для преобразования, не null
Возвращает:
дата и время, не null
Исключения:
DateTimeException - если не удается преобразовать в ChronoZonedDateTime
См. также:
  • Chronology.zonedDateTime(TemporalAccessor)

getLong

default long getLong(TemporalField field)
Описание скопировано из интерфейса: TemporalAccessor
Получает значение указанного поля в виде long.

Этот метод запрашивает у даты и времени значение указанного поля. Возвращаемое значение может находиться за пределами допустимого диапазона значений для поля. Если дата и время не могут вернуть значение, потому что поле не поддерживается или по какой-либо другой причине, будет выброшено исключение.

Определено в:
getLong в интерфейсе TemporalAccessor
Параметры:
field - поле для получения, не null
Возвращает:
значение поля

toLocalDate

default D toLocalDate()
Получает локальную дату из этой даты и времени.

Это возвращает локальную дату с тем же годом, месяцем и днем, что и эта дата и время.

Возвращает:
дата из этой даты и времени, не null

toLocalTime

default LocalTime toLocalTime()
Получает локальное время из этой даты и времени.

Это возвращает локальное время с тем же часом, минутой, секундой и наносекундами, что и эта дата и время.

Возвращает:
время из этой даты и времени, не null

toLocalDateTime

ChronoLocalDateTime<D> toLocalDateTime()
Получает локальную дату и время из этой даты и времени.

Это возвращает локальную дату с тем же годом, месяцем и днем, что и эта дата и время.

Возвращает:
локальная дата и время из этой даты и времени, не null

getChronology

default Chronology getChronology()
Получает хронологию этой даты и времени.

Chronology представляет календарную систему, используемую в данный момент. Эра и другие поля в ChronoField определяются хронологией.

Возвращает:
хронология, не null

getOffset

ZoneOffset getOffset()
Получает смещение часового пояса, например, '+01:00'.

Это смещение локального времени от UTC/Гринвича.

Возвращает:
смещение часового пояса, не null

getZone

ZoneId getZone()
Получает идентификатор часового пояса, например, 'Europe/Paris'.

Это возвращает сохраненный идентификатор часового пояса, используемый для определения правил часового пояса.

Возвращает:
идентификатор часового пояса, не null

withEarlierOffsetAtOverlap

ChronoZonedDateTime<D> withEarlierOffsetAtOverlap()
Возвращает копию этой даты и времени, изменяя смещение часового пояса на меньшее из двух допустимых смещений во время перекрытия временной линии.

Этот метод имеет какой-либо эффект только при перекрытии временной линии, например, при переходе на летнее время осенью. В этой ситуации существует два допустимых смещения для локальной даты и времени. Вызов этого метода вернет дату и время в часовом поясе с меньшим из двух выбранных смещений.

Если этот метод вызывается, когда это не перекрытие, возвращается this.

Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.

Возвращает:
ChronoZonedDateTime на основе этой даты и времени с меньшим смещением, не null
Исключения:
DateTimeException - если правила для часового пояса не найдены
DateTimeException - если для этой даты и времени нет допустимых правил

withLaterOffsetAtOverlap

ChronoZonedDateTime<D> withLaterOffsetAtOverlap()
Возвращает копию этой даты и времени, изменяя смещение часового пояса на большее из двух допустимых смещений во время перекрытия временной линии.

Этот метод имеет какой-либо эффект только при перекрытии временной линии, например, при переходе на летнее время осенью. В этой ситуации существует два допустимых смещения для локальной даты и времени. Вызов этого метода вернет дату и время в часовом поясе с большим из двух выбранных смещений.

Если этот метод вызывается, когда это не перекрытие, возвращается this.

Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.

Возвращает:
ChronoZonedDateTime на основе этой даты и времени с большим смещением, не null
Исключения:
DateTimeException - если правила для часового пояса не найдены
DateTimeException - если для этой даты и времени нет допустимых правил

withZoneSameLocal

ChronoZonedDateTime<D> withZoneSameLocal(ZoneId zone)
Возвращает копию этой даты и времени с другим часовым поясом, сохраняя локальную дату и время, если это возможно.

Этот метод изменяет часовой пояс и сохраняет локальную дату и время. Локальная дата и время изменяются только в случае, если она недействительна для нового часового пояса.

Чтобы изменить часовой пояс и скорректировать локальную дату и время, используйте withZoneSameInstant(ZoneId).

Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.

Параметры:
zone - часовой пояс для изменения, не null
Возвращает:
ChronoZonedDateTime на основе этой даты и времени с запрошенным часовым поясом, не null

withZoneSameInstant

ChronoZonedDateTime<D> withZoneSameInstant(ZoneId zone)
Возвращает копию этой даты и времени с другим часовым поясом, сохраняя момент.

Этот метод изменяет часовой пояс и сохраняет момент. Это обычно приводит к изменению локальной даты и времени.

Этот метод основан на сохранении того же момента, поэтому разрывы и перекрытия на временной линии локального времени не влияют на результат.

Чтобы изменить смещение, сохраняя локальное время, используйте withZoneSameLocal(ZoneId).

Параметры:
zone - часовой пояс для изменения, не null
Возвращает:
ChronoZonedDateTime на основе этой даты и времени с запрошенным часовым поясом, не null
Исключения:
DateTimeException - если результат превышает поддерживаемый диапазон дат

isSupported

boolean isSupported(TemporalField field)
Проверяет, поддерживается ли указанное поле.

Это проверяет, можно ли запросить указанное поле в этой дате и времени. Если ложно, то вызов методов range, get и with(TemporalField, long) выбросит исключение.

Набор поддерживаемых полей определяется хронологией и обычно включает все ChronoField поля.

Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.isSupportedBy(TemporalAccessor) с this в качестве аргумента. Поддержка поля определяется самим полем.

Определено в:
isSupported в интерфейсе TemporalAccessor
Параметры:
field - поле для проверки, null возвращает false
Возвращает:
true, если поле можно запросить, false, если нет

isSupported

default boolean isSupported(TemporalUnit unit)
Проверяет, поддерживается ли указанный единица измерения.

Проверяет, можно ли добавить или вычесть указанную единицу измерения к этой дате и времени. Если false, вызов методов plus(long, TemporalUnit) и minus выбросит исключение.

Набор поддерживаемых единиц определяется хронологией и обычно включает все ChronoUnit единицы измерения, кроме FOREVER.

Если единица измерения не является ChronoUnit, то результат этого метода получается путем вызова TemporalUnit.isSupportedBy(Temporal) , передавая this в качестве аргумента. Поддержка единицы измерения определяется самой единицей.

Specified by:
isSupported в интерфейсе Temporal
Parameters:
unit - единица измерения для проверки, null возвращает false
Returns:
true, если единица измерения может быть добавлена/вычтена, false — если нет

with

default ChronoZonedDateTime<D> with(TemporalAdjuster adjuster)
Возвращает скорректированный объект того же типа, что и этот объект, с произведённой корректировкой.

Корректирует эту дату и время в соответствии с правилами указанного корректировщика. Простой корректировщик может просто установить одно из полей, например, поле года. Более сложный корректировщик может установить дату на последнее число месяца. Выбор общих корректировок представлен в TemporalAdjusters. Они включают нахождение "последнего числа месяца" и "следующей среды". Корректировщик отвечает за обработку особых случаев, таких как различная длина месяцев и високосные годы.

Несколько примеров кода, показывающих, как и почему используется этот метод:

  date = date.with(Month.JULY);        // most key classes implement TemporalAdjuster
  date = date.with(lastDayOfMonth());  // static import from Adjusters
  date = date.with(next(WEDNESDAY));   // static import from Adjusters and DayOfWeek
 
Specified by:
with в интерфейсе Temporal
Parameters:
adjuster - корректировщик для использования, не null
Returns:
объект того же типа с произведённой корректировкой, не null
Throws:
DateTimeException - если корректировка не может быть выполнена
ArithmeticException - если происходит переполнение числовых значений

with

ChronoZonedDateTime<D> with(TemporalField field, long newValue)
Возвращает объект того же типа, что и этот объект, с изменённым указанным полем.

Возвращает новый объект, основанный на этом объекте, с изменённым значением для указанного поля. Например, на LocalDate, это можно использовать для установки года, месяца или числа. Возвращаемый объект будет иметь тот же тип наблюдаемых данных, что и этот объект.

В некоторых случаях изменение поля не полностью определено. Например, если целевой объект — дата, представляющая 31 января, то изменение месяца на февраль будет неясно. В таких случаях поле отвечает за разрешение результата. Как правило, оно выбирает предыдущую допустимую дату, которая в этом примере будет последним допустимым числом февраля.

Specified by:
with в интерфейсе Temporal
Parameters:
field - поле для установки в результате, не null
newValue - новое значение поля в результате
Returns:
объект того же типа с установленным указанным полем, не null
Throws:
DateTimeException - если поле не может быть установлено
ArithmeticException - если происходит переполнение числовых значений

plus

default ChronoZonedDateTime<D> plus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с добавленной величиной.

Корректирует этот временной интервал, добавляя в соответствии с правилами указанного значения. Значение обычно является Period, но может быть любого другого типа, реализующего интерфейс TemporalAmount, например, Duration.

Несколько примеров кода, показывающих, как и почему используется этот метод:

  date = date.plus(period);                // add a Period instance
  date = date.plus(duration);              // add a Duration instance
  date = date.plus(workingDays(6));        // example user-written workingDays method
 

Обратите внимание, что вызов plus в сочетании с minus не гарантирует возврат той же даты и времени.

Specified by:
plus в интерфейсе Temporal
Parameters:
amount - величина для добавления, не null
Returns:
объект того же типа с произведённой корректировкой, не null
Throws:
DateTimeException - если добавление невозможно
ArithmeticException - если происходит переполнение числовых значений

plus

ChronoZonedDateTime<D> plus(long amountToAdd, TemporalUnit unit)
Возвращает объект того же типа, что и этот объект, с добавленным указанным периодом.

Этот метод возвращает новый объект, основанный на этом объекте, с добавленным указанным периодом. Например, на LocalDate, это можно использовать для добавления количества лет, месяцев или дней. Возвращаемый объект будет иметь тот же тип наблюдаемых данных, что и этот объект.

В некоторых случаях изменение поля не полностью определено. Например, если целевой объект — дата, представляющая 31 января, то добавление одного месяца будет неясно. В таких случаях поле отвечает за разрешение результата. Как правило, оно выбирает предыдущую допустимую дату, которая в этом примере будет последним допустимым числом февраля.

Specified by:
plus в интерфейсе Temporal
Parameters:
amountToAdd - количество указанной единицы измерения для добавления, может быть отрицательным
unit - единица измерения количества для добавления, не null
Returns:
объект того же типа с добавленным указанным периодом, не null
Throws:
DateTimeException - если единица измерения не может быть добавлена
ArithmeticException - если происходит переполнение числовых значений

minus

default ChronoZonedDateTime<D> minus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, со значением, вычтенным.

Корректирует этот временной интервал, вычитая в соответствии с правилами указанного значения. Значение обычно является Period, но может быть любого другого типа, реализующего интерфейс TemporalAmount, например, Duration.

Несколько примеров кода, показывающих, как и почему используется этот метод:

  date = date.minus(period);               // subtract a Period instance
  date = date.minus(duration);             // subtract a Duration instance
  date = date.minus(workingDays(6));       // example user-written workingDays method
 

Обратите внимание, что вызов plus в сочетании с minus не гарантирует возврат той же даты и времени.

Specified by:
minus в интерфейсе Temporal
Parameters:
amount - величина для вычитания, не null
Returns:
объект того же типа с произведённой корректировкой, не null
Throws:
DateTimeException - если вычитание невозможно
ArithmeticException - если происходит переполнение числовых значений

minus

default ChronoZonedDateTime<D> minus(long amountToSubtract, TemporalUnit unit)
Возвращает объект того же типа, что и этот объект, с указанным периодом, вычтенным.

Этот метод возвращает новый объект, основанный на этом объекте, с вычтенным указанным периодом. Например, на LocalDate, это можно использовать для вычитания количества лет, месяцев или дней. Возвращаемый объект будет иметь тот же тип наблюдаемых данных, что и этот объект.

В некоторых случаях изменение поля не полностью определено. Например, если целевой объект — дата, представляющая 31 марта, то вычитание одного месяца будет неясно. В таких случаях поле отвечает за разрешение результата. Как правило, оно выбирает предыдущую допустимую дату, которая в этом примере будет последним допустимым числом февраля.

Specified by:
minus в интерфейсе Temporal
Parameters:
amountToSubtract - количество указанной единицы измерения для вычитания, может быть отрицательным
unit - единица измерения количества для вычитания, не null
Returns:
объект того же типа с вычтенным указанным периодом, не null
Throws:
DateTimeException - если единица измерения не может быть вычтена
ArithmeticException - если происходит переполнение числовых значений

query

default <R> R query(TemporalQuery<R> query)
Запрашивает эту дату и время, используя указанный запрос.

Запрашивает эту дату и время, используя указанный объект стратегии запроса. Объект TemporalQuery определяет логику, используемую для получения результата. Прочитайте документацию запроса, чтобы понять, каким будет результат этого метода.

Результат этого метода получается путем вызова метода TemporalQuery.queryFrom(TemporalAccessor) на указанном запросе, передавая this в качестве аргумента.

Specified by:
query в интерфейсе TemporalAccessor
Type Parameters:
R - тип результата
Parameters:
query - запрос для вызова, не null
Returns:
результат запроса, может быть null (определяется запросом)
Throws:
DateTimeException - если запрос не может быть выполнен (определяется запросом)
ArithmeticException - если происходит переполнение числовых значений (определяется запросом)

format

default String format(DateTimeFormatter formatter)
Форматирует эту дату и время, используя указанный форматтер.

Эта дата и время будут переданы форматтеру для создания строки.

Реализация по умолчанию должна вести себя следующим образом:

  return formatter.format(this);
 
Parameters:
formatter - форматтер для использования, не null
Returns:
строка отформатированной даты и времени, не null
Throws:
DateTimeException - если произошла ошибка во время печати

toInstant

default Instant toInstant()
Преобразует эту дату и время в Instant.

Возвращает Instant , представляющую ту же точку на временной шкале, что и эта дата и время. Вычисление объединяет локальную дату и время и смещение.

Returns:
Instant , представляющий тот же момент времени, не null

toEpochSecond

default long toEpochSecond()
Преобразует эту дату и время в количество секунд с эпохи 1970-01-01T00:00:00Z.

Для вычисления значения epoch-second (количество прошедших секунд с 1970-01-01T00:00:00Z) используется локальная дата и время и смещение. Моменты времени после эпохи имеют положительное значение, а до эпохи - отрицательное.

Returns:
количество секунд с эпохи 1970-01-01T00:00:00Z

compareTo

default int compareTo(ChronoZonedDateTime<?> other)
Сравнивает эту дату и время с другой датой и временем, включая хронологию.

Сравнение основано сначала на моменте времени, затем на локальной дате и времени, затем на идентификаторе зоны, затем на хронологии. Оно «совместимо с equals», как определено в Comparable.

Если все сравниваемые объекты даты и времени находятся в одной и той же хронологии, то дополнительный этап хронологии не требуется.

Эта реализация по умолчанию выполняет сравнение, определенное выше.

Specified by:
compareTo в интерфейсе Comparable<D extends ChronoLocalDate>
Parameters:
other - другая дата и время для сравнения, не null
Returns:
значение сравнения, отрицательное, если меньше, положительное, если больше

isBefore

default boolean isBefore(ChronoZonedDateTime<?> other)
Проверяет, предшествует ли мгновение времени этой даты и времени заданной дате и времени.

Этот метод отличается от сравнения в compareTo(java.time.chrono.ChronoZonedDateTime<?>) тем, что он сравнивает только момент времени даты и времени. Это эквивалентно использованию dateTime1.toInstant().isBefore(dateTime2.toInstant());.

Эта реализация по умолчанию выполняет сравнение на основе epoch-second и nano-of-second.

Parameters:
other - другая дата и время для сравнения, не null
Returns:
true, если этот момент времени предшествует указанной дате и времени

isAfter

default boolean isAfter(ChronoZonedDateTime<?> other)
Проверяет, следует ли мгновение времени этой даты и времени за мгновением времени указанной даты и времени.

Этот метод отличается от сравнения в compareTo(java.time.chrono.ChronoZonedDateTime<?>) тем, что он сравнивает только момент времени даты и времени. Это эквивалентно использованию dateTime1.toInstant().isAfter(dateTime2.toInstant());.

Эта реализация по умолчанию выполняет сравнение на основе epoch-second и nano-of-second.

Parameters:
other - другая дата и время для сравнения, не null
Returns:
true, если этот момент времени следует за указанной датой и временем

isEqual

default boolean isEqual(ChronoZonedDateTime<?> other)
Проверяет, равен ли момент времени этой даты и времени моменту времени указанной даты и времени.

Этот метод отличается от сравнения в compareTo(java.time.chrono.ChronoZonedDateTime<?>) и equals(java.lang.Object) тем, что он сравнивает только момент времени даты и времени. Это эквивалентно использованию dateTime1.toInstant().equals(dateTime2.toInstant());.

Эта реализация по умолчанию выполняет сравнение на основе epoch-second и nano-of-second.

Parameters:
other - другая дата и время для сравнения, не null
Returns:
true, если момент времени равен моменту времени указанной даты и времени

equals

boolean equals(Object obj)
Проверяет, равна ли эта дата и время другой дате и времени.

Сравнение основано на дате и времени со смещением и зоне. Чтобы сравнить моменты времени на временной шкале, используйте compareTo(java.time.chrono.ChronoZonedDateTime<?>). Для сравнения сравниваются только объекты типа ChronoZonedDateTime, другие типы возвращают false.

Overrides:
equals в классе Object
Parameters:
obj - проверяемый объект, null возвращает false
Returns:
true, если эта дата и время равны другой дате и времени
See Also:
  • Object.hashCode()
  • HashMap

hashCode

int hashCode()
Хэш-код для этой даты и времени.
Overrides:
hashCode в классе Object
Returns:
соответствующий хэш-код
See Also:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

toString

String toString()
Выводит эту дату и время как String.

Вывод будет включать полную дату и время с зоной.

Overrides:
toString в классе Object
Returns:
строковое представление этой даты и времени, не null

© 1993, 2021, 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/17/docs/api/java.base/java/time/chrono/ChronoZonedDateTime.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API