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

Параметры типа:
D - конкретный тип для даты этого момента времени
Все суперинтерфейсы:
Comparable<ChronoLocalDateTime<?>>, Temporal, TemporalAccessor, TemporalAdjuster
Все известные реализующие классы:
LocalDateTime
public interface ChronoLocalDateTime<D extends ChronoLocalDate>
extends Temporal, TemporalAdjuster, Comparable<ChronoLocalDateTime<?>>

Дата и время без часового пояса в произвольной хронологии, предназначенные для использования в сложных сценариях глобализации.

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

Объект ChronoLocalDateTime является абстрактным представлением локальной даты и времени, где Chronology chronology, или календарная система, является подключаемой. Дата и время определяются с помощью полей, выраженных TemporalField, где большинство общих реализаций определены в ChronoField. Хронология определяет, как работает календарная система и значение стандартных полей.

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

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

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

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

Методы

Модификатор и тип Метод Описание
default Temporal adjustInto​(Temporal temporal)

Настраивает указанный временной объект так, чтобы иметь ту же дату и время, что и этот объект.

ChronoZonedDateTime<D> atZone​(ZoneId zone)

Объединяет это время с часовым поясом, чтобы создать ChronoZonedDateTime.

default int compareTo​(ChronoLocalDateTime<?> other)

Сравнивает это время с другим временем, включая хронологию.

boolean equals​(Object obj)

Проверяет, равно ли это время другому времени, включая хронологию.

default String format​(DateTimeFormatter formatter)

Форматирует это время с помощью указанного форматера.

static ChronoLocalDateTime<?> from​(TemporalAccessor temporal)

Получает экземпляр ChronoLocalDateTime из временного объекта.

default Chronology getChronology()

Получает хронологию этого времени.

int hashCode()

Хеш-код для этого времени.

default boolean isAfter​(ChronoLocalDateTime<?> other)

Проверяет, является ли это время после указанного времени, игнорируя хронологию.

default boolean isBefore​(ChronoLocalDateTime<?> other)

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

default boolean isEqual​(ChronoLocalDateTime<?> other)

Проверяет, равно ли это время указанному времени, игнорируя хронологию.

boolean isSupported​(TemporalField field)

Проверяет, поддерживается ли указанное поле.

default boolean isSupported​(TemporalUnit unit)

Проверяет, поддерживается ли указанный интервал.

default ChronoLocalDateTime<D> minus​(long amountToSubtract, TemporalUnit unit)

Возвращает объект того же типа, что и этот объект, с вычетом указанного периода.

default ChronoLocalDateTime<D> minus​(TemporalAmount amount)

Возвращает объект того же типа, что и этот объект, с вычетом указанной величины.

ChronoLocalDateTime<D> plus​(long amountToAdd, TemporalUnit unit)

Возвращает объект того же типа, что и этот объект, с добавлением указанного периода.

default ChronoLocalDateTime<D> plus​(TemporalAmount amount)

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

default <R> R query​(TemporalQuery<R> query)

Запрашивает это время с использованием указанного запроса.

static Comparator<ChronoLocalDateTime<?>> timeLineOrder()

Получает компаратор, который сравнивает ChronoLocalDateTime в порядке следования во времени, игнорируя хронологию.

default long toEpochSecond​(ZoneOffset offset)

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

default Instant toInstant​(ZoneOffset offset)

Преобразует это время в Instant.

D toLocalDate()

Получает локальную часть даты этого времени.

LocalTime toLocalTime()

Получает локальную часть времени этого времени.

String toString()

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

default ChronoLocalDateTime<D> with​(TemporalAdjuster adjuster)

Возвращает измененный объект того же типа, что и этот объект, с произведенным изменением.

ChronoLocalDateTime<D> with​(TemporalField field, long newValue)

Возвращает объект того же типа, что и этот объект, с измененным указанным полем.

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

until

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

get, getLong, range

Методы

timeLineOrder

static Comparator<ChronoLocalDateTime<?>> timeLineOrder()

Возвращает компаратор, который сравнивает ChronoLocalDateTime в порядке временной шкалы, игнорируя хронологию.

Этот компаратор отличается от сравнения в compareTo(java.time.chrono.ChronoLocalDateTime<?>) тем, что он сравнивает только базовую дату и время, а не хронологию. Это позволяет сравнивать даты в разных системах календарей на основе положения даты и времени на локальной временной шкале. Базовое сравнение эквивалентно сравнению epoch-day и nano-of-day.

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

from

static ChronoLocalDateTime<?> from(TemporalAccessor temporal)

Получает экземпляр ChronoLocalDateTime из временного объекта.

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

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

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

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

getChronology

default Chronology getChronology()

Возвращает хронологию этой даты и времени.

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

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

toLocalDate

D toLocalDate()

Возвращает часть даты этой даты и времени.

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

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

toLocalTime

LocalTime toLocalTime()

Возвращает часть времени этой даты и времени.

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

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

isSupported

boolean isSupported(TemporalField field)

Проверяет, поддерживается ли указанное поле.

Это проверяет, можно ли запрашивать указанное поле в этой дате и времени. Если false, то вызов методов 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 в качестве аргумента. Поддерживается ли единица, определяется единицей.

Указано в:
isSupported в интерфейсе Temporal
Параметры:
unit - единица для проверки, null возвращает false
Возвращает:
true, если единицу можно добавить/вычесть, false, если нет

with

default ChronoLocalDateTime<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
Указано в:
with в интерфейсе Temporal
Параметры:
adjuster - корректировщик для использования, не null
Возвращает:
объект того же типа с внесенной указанной корректировкой, не null
Исключения:
DateTimeException - если невозможно внести корректировку
ArithmeticException - если происходит переполнение числового значения

with

ChronoLocalDateTime<D> with(TemporalField field,
                            long newValue)

Возвращает объект того же типа, что и этот объект, с измененным указанным полем.

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

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

Указано в:
with в интерфейсе Temporal
Параметры:
field - поле для установки в результате, не null
newValue - новое значение поля в результате
Возвращает:
объект того же типа с установленным указанным полем, не null
Исключения:
DateTimeException - если поле не может быть установлено
ArithmeticException - если происходит переполнение числового значения

plus

default ChronoLocalDateTime<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 не гарантирует возвращение той же даты и времени.

Указано в:
plus в интерфейсе Temporal
Параметры:
amount - значение для добавления, не null
Возвращает:
объект того же типа с внесенной указанной корректировкой, не null
Исключения:
DateTimeException - если добавление не может быть выполнено
ArithmeticException - если происходит переполнение числового значения

plus

ChronoLocalDateTime<D> plus(long amountToAdd,
                            TemporalUnit unit)

Возвращает объект того же типа, что и этот объект, с добавленным указанным периодом.

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

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

Указано в:
plus в интерфейсе Temporal
Параметры:
amountToAdd - количество указанной единицы для добавления, может быть отрицательным
unit - единица добавляемого значения, не null
Возвращает:
объект того же типа с добавленным указанным периодом, не null
Исключения:
DateTimeException - если единицу нельзя добавить
ArithmeticException - если происходит переполнение числового значения

minus

default ChronoLocalDateTime<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 не гарантирует возвращение той же даты и времени.

Определено в:
minus в интерфейсе Temporal
Параметры:
amount - величина для вычитания, не null
Возвращает:
объект того же типа с произведённой корректировкой, не null
Исключения:
DateTimeException - если вычитание невозможно
ArithmeticException - если произошел переполнение чисел

minus

default ChronoLocalDateTime<D> minus(long amountToSubtract,
                                     TemporalUnit unit)

Возвращает объект того же типа, что и этот объект, с вычтенным заданным периодом.

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

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

Определено в:
minus в интерфейсе Temporal
Параметры:
amountToSubtract - величина заданного интервала для вычитания, может быть отрицательной
unit - единица измерения величины для вычитания, не null
Возвращает:
объект того же типа с вычтенным заданным периодом, не null
Исключения:
DateTimeException - если единица измерения не может быть вычтена
ArithmeticException - если произошел переполнение чисел

query

default <R> R query(TemporalQuery<R> query)

Запрос этого момента времени с использованием указанного запроса.

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

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

Определено в:
query в интерфейсе TemporalAccessor
Параметры типа:
R - тип результата
Параметры:
query - запрос для вызова, не null
Возвращает:
результат запроса, может быть null (определяется запросом)
Исключения:
DateTimeException - если запрос не удался (определяется запросом)
ArithmeticException - если произошел переполнение чисел (определяется запросом)

adjustInto

default Temporal adjustInto(Temporal temporal)

Корректирует указанный временной объект, чтобы он имел ту же дату и время, что и этот объект.

Это возвращает временной объект того же наблюдаемого типа, что и входной, с изменённой датой и временем, совпадающей с этим.

Корректировка эквивалентна двукратному использованию Temporal.with(TemporalField, long), передавая ChronoField.EPOCH_DAY и ChronoField.NANO_OF_DAY в качестве полей.

В большинстве случаев более понятно использовать обратный порядок вызова, используя Temporal.with(TemporalAdjuster):

// these two lines are equivalent, but the second approach is recommended
   temporal = thisLocalDateTime.adjustInto(temporal);
   temporal = temporal.with(thisLocalDateTime);

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

Определено в:
adjustInto в интерфейсе TemporalAdjuster
Параметры:
temporal - целевой объект для корректировки, не null
Возвращает:
откорректированный объект, не null
Исключения:
DateTimeException - если корректировка невозможна
ArithmeticException - если произошло переполнение чисел

format

default String format(DateTimeFormatter formatter)

Форматирует этот момент времени с использованием указанного форматера.

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

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

return formatter.format(this);
Параметры:
formatter - используемый форматер, не null
Возвращает:
строка отформатированного момента времени, не null
Исключения:
DateTimeException - если произошла ошибка при печати

atZone

ChronoZonedDateTime<D> atZone(ZoneId zone)

Объединяет это время с часовым поясом для создания ChronoZonedDateTime.

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

Местное время разрешается до единственного момента на временной шкале. Это достигается путем поиска допустимого смещения от UTC/Гринвича для местного времени, как определено rules идентификатора часового пояса.

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

Чтобы получить более позднее смещение при перекрытии, вызовите ChronoZonedDateTime.withLaterOffsetAtOverlap() на результате этого метода.

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

toInstant

default Instant toInstant(ZoneOffset offset)

Преобразует этот момент времени в Instant.

Это объединяет это местное время и указанное смещение, чтобы сформировать Instant.

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

Параметры:
offset - используемое смещение для преобразования, не null
Возвращает:
момент времени, представляющий тот же момент, не null

toEpochSecond

default long toEpochSecond(ZoneOffset offset)

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

Это объединяет это местное время и указанное смещение для вычисления значения эпохи-секунд, которое представляет собой количество прошедших секунд с 1970-01-01T00:00:00Z. Моменты на временной шкале после эпохи являются положительными, более ранние — отрицательными.

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

Параметры:
offset - используемое смещение для преобразования, не null
Возвращает:
количество секунд от эпохи 1970-01-01T00:00:00Z

compareTo

default int compareTo(ChronoLocalDateTime<?> other)

Сравнивает этот момент времени с другим моментом времени, включая хронологию.

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

Например, порядок сравнения следующий:

  1. 2012-12-03T12:00 (ISO)
  2. 2012-12-04T12:00 (ISO)
  3. 2555-12-04T12:00 (ThaiBuddhist)
  4. 2012-12-05T12:00 (ISO)
Значения #2 и #3 представляют один и тот же момент времени на временной шкале. Когда два значения представляют один и тот же момент времени, идентификатор хронологии используется для их различения. Этот шаг необходим для обеспечения «соответствия equals».

Если все сравниваемые объекты date-time находятся в одной хронологии, дополнительная фаза хронологии не требуется, и используется только местное время.

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

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

isAfter

default boolean isAfter(ChronoLocalDateTime<?> other)

Проверяет, является ли этот момент времени после указанного момента времени, игнорируя хронологию.

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

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

Параметры:
other - другой момент времени для сравнения, не null
Возвращает:
true, если это время после указанного момента времени

isBefore

default boolean isBefore(ChronoLocalDateTime<?> other)

Проверяет, предшествует ли этот момент времени указанному моменту времени, игнорируя хронологию.

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

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

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

isEqual

default boolean isEqual(ChronoLocalDateTime<?> other)

Проверяет, равна ли эта дата и время указанной дате и времени, игнорируя хронологию.

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

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

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

equals

boolean equals(Object obj)

Проверяет, равна ли эта дата и время другой дате и времени, включая хронологию.

Сравнивает эту дату и время с другой, гарантируя, что дата и время, а также хронология одинаковы.

Переопределяет:
equals в классе Object
Параметры:
obj - объект для проверки, null возвращает false
Возвращает:
true, если эта дата равна другой
См. также:
Object.hashCode(), HashMap

hashCode

int hashCode()

Код хэширования для этой даты и времени.

Переопределяет:
hashCode в классе Object
Возвращает:
подходящий код хэширования
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

toString

String toString()

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

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

Переопределяет:
toString в классе Object
Возвращает:
строковое представление этой даты и времени, не null

© 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/chrono/ChronoLocalDateTime.html

Spec-Zone .ru
спецификации, руководства, описания, API