Spec-Zone.ru › OpenJDK 8

Интерфейс 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 было прочитано и понято перед использованием этого интерфейса.

Требования к реализации:
Этот интерфейс должен быть реализован с осторожностью, чтобы обеспечить правильную работу других классов. Все реализуемые классы, которые могут быть созданы, должны быть final, неизменяемыми и потокобезопасными. Подклассы должны быть сериализуемыми, где это возможно.
С:
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<?>) тем, что он сравнивает только базовое время и дату, а не хронологию. Это позволяет сравнивать даты в разных системах календарей на основе положения даты и времени на локальной временной шкале. Базовое сравнение эквивалентно сравнению дня эпохи и наносекунд дня.

Возвращает:
компаратор, который сравнивает во временной последовательности, игнорируя хронологию
См. также:
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
Возвращает:
Instant , представляющий тот же момент, не null

toEpochSecond

default long toEpochSecond(ZoneOffset offset)

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

Это объединяет эту локальную дату и время и указанное смещение для вычисления значения epoch-секунд, которое представляет собой количество прошедших секунд с момента 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».

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

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

Определено в:
compareTo в интерфейсе Comparable<ChronoLocalDateTime<?>>
Параметры:
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.

Spec-Zone.ru

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