Spec-Zone.ru › OpenJDK 25

Класс LocalDate

java.lang.Object
java.time.LocalDate
Все реализуемые интерфейсы:
Serializable, Comparable<ChronoLocalDate>, ChronoLocalDate, Temporal, TemporalAccessor, TemporalAdjuster
public final class LocalDate extends Object implements Temporal, TemporalAdjuster, ChronoLocalDate, Serializable
Дата без часового пояса в календарной системе ISO-8601, например 2007-12-03.

LocalDate — неизменяемый объект даты и времени, представляющий дату, обычно рассматриваемую как год-месяц-день. Также можно получить доступ к другим полям даты, таким как день года, день недели и неделя года. Например, значение «2 октября 2007 года» можно сохранить в LocalDate.

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

Календарная система ISO-8601 — это современная гражданская календарная система, используемая сегодня в большинстве стран мира. Она эквивалентна пролептической григорианской календарной системе, в которой современные правила високосных лет применяются ко всему времени. Для большинства приложений, разрабатываемых сегодня, правила ISO-8601 вполне подходят. Однако приложения, использующие исторические даты и требующие их точности, обнаружат, что подход ISO-8601 не подходит.

Этот класс является классом, основанным на значениях; программистам следует считать экземпляры, которые равны, взаимозаменяемыми и не использовать экземпляры для синхронизации, иначе может возникнуть непредсказуемое поведение. Например, в одном из будущих выпусков синхронизация может завершиться неудачей. Для сравнения следует использовать метод equals.

Требования к реализации:
Этот класс неизменяемый и потокобезопасный.
Начиная с версии:
1.8
См. также:
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
static final LocalDate EPOCH
Год начала эпохи LocalDate, «1970-01-01».
static final LocalDate MAX
Максимальная поддерживаемая дата LocalDate, «+999999999-12-31».
static final LocalDate MIN
Минимальная поддерживаемая дата LocalDate, «-999999999-01-01».

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

Модификатор и тип Метод Описание
Temporal adjustInto(Temporal temporal)
Настраивает указанный временной объект так, чтобы его дата совпадала с датой этого объекта.
LocalDateTime atStartOfDay()
Объединяет эту дату со временем полуночи, чтобы создать LocalDateTime в начале этой даты.
ZonedDateTime atStartOfDay(ZoneId zone)
Возвращает дату и время с часовым поясом для этой даты в самое раннее допустимое время согласно правилам часового пояса.
LocalDateTime atTime(int hour, int minute)
Объединяет эту дату со временем, чтобы создать LocalDateTime.
LocalDateTime atTime(int hour, int minute, int second)
Объединяет эту дату со временем, чтобы создать LocalDateTime.
LocalDateTime atTime(int hour, int minute, int second, int nanoOfSecond)
Объединяет эту дату со временем, чтобы создать LocalDateTime.
LocalDateTime atTime(LocalTime time)
Объединяет эту дату со временем, чтобы создать LocalDateTime.
OffsetDateTime atTime(OffsetTime time)
Объединяет эту дату со временем со смещением, чтобы создать OffsetDateTime.
int compareTo(ChronoLocalDate other)
Сравнивает эту дату с другой датой.
Stream<LocalDate> datesUntil(LocalDate endExclusive)
Возвращает упорядоченный последовательный поток дат.
Stream<LocalDate> datesUntil(LocalDate endExclusive, Period step)
Возвращает упорядоченный последовательный поток дат с указанным шагом приращения.
boolean equals(Object obj)
Проверяет, равна ли эта дата другой дате.
String format(DateTimeFormatter formatter)
Форматирует эту дату с помощью указанного форматтера.
static LocalDate from(TemporalAccessor temporal)
Получает экземпляр LocalDate из временного объекта.
int get(TemporalField field)
Получает значение указанного поля этой даты в виде int.
IsoChronology getChronology()
Получает хронологию этой даты, то есть календарную систему ISO.
int getDayOfMonth()
Получает поле дня месяца.
DayOfWeek getDayOfWeek()
Получает поле дня недели, представленное перечислением DayOfWeek.
int getDayOfYear()
Получает поле дня года.
IsoEra getEra()
Получает эру, действующую на эту дату.
long getLong(TemporalField field)
Получает значение указанного поля этой даты в виде long.
Month getMonth()
Получает поле месяца года с использованием перечисления Month.
int getMonthValue()
Получает поле месяца года в диапазоне от 1 до 12.
int getYear()
Получает поле года.
int hashCode()
Хеш-код этой даты.
boolean isAfter(ChronoLocalDate other)
Проверяет, находится ли эта дата после указанной даты.
boolean isBefore(ChronoLocalDate other)
Проверяет, находится ли эта дата до указанной даты.
boolean isEqual(ChronoLocalDate other)
Проверяет, совпадает ли эта дата с указанной датой.
boolean isLeapYear()
Проверяет, является ли год високосным согласно правилам пролептической календарной системы ISO.
boolean isSupported(TemporalField field)
Проверяет, поддерживается ли указанное поле.
boolean isSupported(TemporalUnit unit)
Проверяет, поддерживается ли указанная единица измерения.
int lengthOfMonth()
Возвращает продолжительность месяца, представленного этой датой.
int lengthOfYear()
Возвращает продолжительность года, представленного этой датой.
LocalDate minus(long amountToSubtract, TemporalUnit unit)
Возвращает копию этой даты с вычтенным указанным значением.
LocalDate minus(TemporalAmount amountToSubtract)
Возвращает копию этой даты с вычтенным указанным значением.
LocalDate minusDays(long daysToSubtract)
Возвращает копию этого LocalDate с вычтенным указанным количеством дней.
LocalDate minusMonths(long monthsToSubtract)
Возвращает копию этого LocalDate с вычтенным указанным количеством месяцев.
LocalDate minusWeeks(long weeksToSubtract)
Возвращает копию этого LocalDate с вычтенным указанным количеством недель.
LocalDate minusYears(long yearsToSubtract)
Возвращает копию этого LocalDate с вычтенным указанным количеством лет.
static LocalDate now()
Получает текущую дату по системным часам в часовом поясе по умолчанию.
static LocalDate now(Clock clock)
Получает текущую дату по указанным часам.
static LocalDate now(ZoneId zone)
Получает текущую дату по системным часам в указанном часовом поясе.
static LocalDate of(int year, int month, int dayOfMonth)
Получает экземпляр LocalDate из года, месяца и дня.
static LocalDate of(int year, Month month, int dayOfMonth)
Получает экземпляр LocalDate из года, месяца и дня.
static LocalDate ofEpochDay(long epochDay)
Получает экземпляр LocalDate из количества дней эпохи.
static LocalDate ofInstant(Instant instant, ZoneId zone)
Получает экземпляр LocalDate из Instant и идентификатора часового пояса.
static LocalDate ofYearDay(int year, int dayOfYear)
Получает экземпляр LocalDate из года и дня года.
static LocalDate parse(CharSequence text)
Получает экземпляр LocalDate из текстовой строки, например 2007-12-03.
static LocalDate parse(CharSequence text, DateTimeFormatter formatter)
Получает экземпляр LocalDate из текстовой строки с помощью заданного форматтера.
LocalDate plus(long amountToAdd, TemporalUnit unit)
Возвращает копию этой даты с добавленным указанным значением.
LocalDate plus(TemporalAmount amountToAdd)
Возвращает копию этой даты с добавленным указанным значением.
LocalDate plusDays(long daysToAdd)
Возвращает копию этого LocalDate с добавленным указанным количеством дней.
LocalDate plusMonths(long monthsToAdd)
Возвращает копию этого LocalDate с добавленным указанным количеством месяцев.
LocalDate plusWeeks(long weeksToAdd)
Возвращает копию этого LocalDate с добавленным указанным количеством недель.
LocalDate plusYears(long yearsToAdd)
Возвращает копию этого LocalDate с добавленным указанным количеством лет.
<R> R query(TemporalQuery<R> query)
Выполняет запрос к этой дате с помощью указанного запроса.
ValueRange range(TemporalField field)
Получает диапазон допустимых значений для указанного поля.
long toEpochSecond(LocalTime time, ZoneOffset offset)
Преобразует этот LocalDate в количество секунд, прошедших с начала эпохи 1970-01-01T00:00:00Z.
String toString()
Выводит эту дату в виде String, например 2007-12-03.
Period until(ChronoLocalDate endDateExclusive)
Вычисляет период между этой датой и другой датой в виде Period.
long until(Temporal endExclusive, TemporalUnit unit)
Вычисляет время до другой даты в указанных единицах измерения.
LocalDate with(TemporalAdjuster adjuster)
Возвращает скорректированную копию этой даты.
LocalDate with(TemporalField field, long newValue)
Возвращает копию этой даты, в которой указанному полю присвоено новое значение.
LocalDate withDayOfMonth(int dayOfMonth)
Возвращает копию этого LocalDate с измененным днем месяца.
LocalDate withDayOfYear(int dayOfYear)
Возвращает копию этого LocalDate с измененным днем года.
LocalDate withMonth(int month)
Возвращает копию этого LocalDate с измененным месяцем года.
LocalDate withYear(int year)
Возвращает копию этого LocalDate с измененным годом.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе ChronoLocalDate

toEpochDay

Подробное описание полей

MIN

public static final LocalDate MIN
Минимально поддерживаемое значение LocalDate, '-999999999-01-01'. Приложение может использовать его как дату «далёкого прошлого».

MAX

public static final LocalDate MAX
Максимально поддерживаемое значение LocalDate, '+999999999-12-31'. Приложение может использовать его как дату «далёкого будущего».

EPOCH

public static final LocalDate EPOCH
Эпохальный год LocalDate, '1970-01-01'.
Начиная с:
9

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

now

public static LocalDate now()
Получает текущую дату по системным часам в часовом поясе по умолчанию.

Для получения текущей даты выполняется запрос к system clock в часовом поясе по умолчанию.

Использование этого метода не позволяет применять альтернативные часы для тестирования, поскольку часы заданы жёстко.

Возвращает:
текущую дату по системным часам и в часовом поясе по умолчанию; значение не равно null

now

public static LocalDate now(ZoneId zone)
Получает текущую дату по системным часам в указанном часовом поясе.

Для получения текущей даты выполняется запрос к system clock. Указание часового пояса позволяет избежать зависимости от часового пояса по умолчанию.

Использование этого метода не позволяет применять альтернативные часы для тестирования, поскольку часы заданы жёстко.

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

now

public static LocalDate now(Clock clock)
Получает текущую дату по указанным часам.

Для получения текущей даты — сегодняшнего дня — выполняется запрос к указанным часам. Использование этого метода позволяет применять альтернативные часы для тестирования. Альтернативные часы можно создать с помощью dependency injection.

Параметры:
clock — часы, которые следует использовать; не null
Возвращает:
текущую дату; значение не равно null

of

public static LocalDate of(int year, Month month, int dayOfMonth)
Создаёт экземпляр LocalDate на основе года, месяца и дня.

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

Параметры:
year — представляемый год, от MIN_YEAR до MAX_YEAR
month — представляемый месяц года; не null
dayOfMonth — представляемый день месяца, от 1 до 31
Возвращает:
локальную дату; значение не равно null
Выбрасывает:
DateTimeException — если значение какого-либо поля выходит за допустимый диапазон или день месяца недопустим для указанного года и месяца

of

public static LocalDate of(int year, int month, int dayOfMonth)
Создаёт экземпляр LocalDate на основе года, месяца и дня.

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

Параметры:
year — представляемый год, от MIN_YEAR до MAX_YEAR
month — представляемый месяц года, от 1 (январь) до 12 (декабрь)
dayOfMonth — представляемый день месяца, от 1 до 31
Возвращает:
локальную дату; значение не равно null
Выбрасывает:
DateTimeException — если значение какого-либо поля выходит за допустимый диапазон или день месяца недопустим для указанного года и месяца

ofYearDay

public static LocalDate ofYearDay(int year, int dayOfYear)
Создаёт экземпляр LocalDate на основе года и дня года.

Возвращает LocalDate с указанными годом и днём года. День года должен быть допустимым для указанного года, иначе будет выброшено исключение.

Параметры:
year — представляемый год, от MIN_YEAR до MAX_YEAR
dayOfYear — представляемый день года, от 1 до 366
Возвращает:
локальную дату; значение не равно null
Выбрасывает:
DateTimeException — если значение какого-либо поля выходит за допустимый диапазон или день года недопустим для указанного года

ofInstant

public static LocalDate ofInstant(Instant instant, ZoneId zone)
Создаёт экземпляр LocalDate на основе объекта Instant и идентификатора часового пояса.

Создаёт локальную дату на основе указанного момента времени. Сначала по идентификатору часового пояса и моменту времени определяется смещение относительно UTC/Гринвича. Это просто, поскольку для каждого момента времени допустимо только одно смещение. Затем момент времени и смещение используются для вычисления локальной даты.

Параметры:
instant — момент времени, на основе которого создаётся дата; не null
zone — часовой пояс, которым может быть смещение; не null
Возвращает:
локальную дату; значение не равно null
Выбрасывает:
DateTimeException — если результат выходит за поддерживаемый диапазон
Начиная с:
9

ofEpochDay

public static LocalDate ofEpochDay(long epochDay)
Создаёт экземпляр LocalDate на основе количества дней эпохи.

Возвращает LocalDate с указанным днём эпохи. EPOCH_DAY — это простой возрастающий отсчёт дней, в котором день 0 соответствует 1970-01-01. Отрицательные числа обозначают более ранние дни.

Параметры:
epochDay — день эпохи для преобразования, отсчитываемый от эпохи 1970-01-01
Возвращает:
локальную дату; значение не равно null
Выбрасывает:
DateTimeException — если день эпохи выходит за поддерживаемый диапазон дат

from

public static LocalDate from(TemporalAccessor temporal)
Создаёт экземпляр LocalDate на основе временного объекта.

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

Для преобразования используется запрос TemporalQueries.localDate(), основанный на извлечении поля EPOCH_DAY.

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

Параметры:
temporal — временной объект для преобразования; не null
Возвращает:
локальную дату; значение не равно null
Выбрасывает:
DateTimeException — если преобразовать в LocalDate невозможно

parse

public static LocalDate parse(CharSequence text)
Создаёт экземпляр LocalDate на основе текстовой строки, например 2007-12-03.

Строка должна представлять допустимую дату и разбирается с помощью DateTimeFormatter.ISO_LOCAL_DATE.

Параметры:
text — текст для разбора, например "2007-12-03"; не null
Возвращает:
разобранную локальную дату; значение не равно null
Выбрасывает:
DateTimeParseException — если текст не удаётся разобрать

parse

public static LocalDate parse(CharSequence text, DateTimeFormatter formatter)
Создаёт экземпляр LocalDate на основе текстовой строки с использованием заданного форматировщика.

Текст разбирается с помощью форматировщика, в результате чего возвращается дата.

Параметры:
text — текст для разбора; не null
formatter — форматировщик, который следует использовать; не null
Возвращает:
разобранную локальную дату; значение не равно null
Выбрасывает:
DateTimeParseException — если текст не удаётся разобрать

isSupported

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

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

Если поле является ChronoField, запрос реализуется здесь. Поддерживаются следующие поля:

  • DAY_OF_WEEK
  • ALIGNED_DAY_OF_WEEK_IN_MONTH
  • ALIGNED_DAY_OF_WEEK_IN_YEAR
  • DAY_OF_MONTH
  • DAY_OF_YEAR
  • EPOCH_DAY
  • ALIGNED_WEEK_OF_MONTH
  • ALIGNED_WEEK_OF_YEAR
  • MONTH_OF_YEAR
  • PROLEPTIC_MONTH
  • YEAR_OF_ERA
  • YEAR
  • ERA
Для всех остальных экземпляров ChronoField возвращается false.

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

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

isSupported

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

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

Если единица измерения является ChronoUnit, запрос реализуется здесь. Поддерживаются следующие единицы измерения:

  • DAYS
  • WEEKS
  • MONTHS
  • YEARS
  • DECADES
  • CENTURIES
  • MILLENNIA
  • ERAS
Для всех остальных экземпляров ChronoUnit возвращается false.

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

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

range

public ValueRange range(TemporalField field)
Получает диапазон допустимых значений указанного поля.

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

Если поле является ChronoField, запрос реализуется здесь. Метод supported fields возвращает соответствующие экземпляры диапазона. Для всех остальных экземпляров ChronoField выбрасывается исключение UnsupportedTemporalTypeException.

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

Определено в:
range в интерфейсе TemporalAccessor
Параметры:
field — поле, диапазон которого требуется запросить; не null
Возвращает:
диапазон допустимых значений поля; не null
Выбрасывает:
DateTimeException — если получить диапазон поля невозможно
UnsupportedTemporalTypeException — если поле не поддерживается

get

public int get(TemporalField field)
Получает значение указанного поля этой даты в виде int.

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

Если поле является ChronoField, запрос реализуется здесь. Метод supported fields возвращает допустимые для этой даты значения, кроме EPOCH_DAY и PROLEPTIC_MONTH, которые слишком велики для представления в int и приводят к выбросу исключения UnsupportedTemporalTypeException. Для всех остальных экземпляров ChronoField выбрасывается исключение UnsupportedTemporalTypeException.

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

Определено в:
get в интерфейсе TemporalAccessor
Параметры:
field — поле для получения значения; не null
Возвращает:
значение поля
Выбрасывает:
DateTimeException — если значение поля невозможно получить или оно выходит за допустимый диапазон значений этого поля
UnsupportedTemporalTypeException — если поле не поддерживается или диапазон значений превышает int
ArithmeticException — при арифметическом переполнении

getLong

public long getLong(TemporalField field)
Получает значение указанного поля этой даты в виде long.

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

Если поле является ChronoField, запрос реализуется здесь. Метод supported fields возвращает допустимые для этой даты значения. Для всех остальных экземпляров ChronoField выбрасывается исключение UnsupportedTemporalTypeException.

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

Определено в:
getLong в интерфейсе TemporalAccessor
Параметры:
field — поле для получения значения; не null
Возвращает:
значение поля
Выбрасывает:
DateTimeException — если значение поля невозможно получить
UnsupportedTemporalTypeException — если поле не поддерживается
ArithmeticException — при арифметическом переполнении

getChronology

public IsoChronology getChronology()
Получает хронологию этой даты — календарную систему ISO.

Chronology представляет используемую календарную систему. Календарная система ISO-8601 — современная гражданская календарная система, используемая сегодня в большинстве стран мира. Она эквивалентна пролептической григорианской календарной системе, в которой современные правила високосных лет применяются ко всему временному диапазону.

Определено в:
getChronology в интерфейсе ChronoLocalDate
Возвращает:
хронологию ISO; не null

getEra

public IsoEra getEra()
Получает эру, соответствующую этой дате.

Официальный стандарт ISO-8601 не определяет эры, однако IsoChronology определяет. Он задаёт две эры: «CE» — начиная с первого года, и «BCE» — от нулевого года в прошлое. Поскольку даты до перехода от юлианского календаря к григорианскому не соответствуют историческим датам, граница между «BCE» и «CE» также не совпадает с общепринятой границей эр, которые часто обозначают «BC» и «AD».

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

Определено в:
getEra в интерфейсе ChronoLocalDate
Возвращает:
эра IsoEra, соответствующая этой дате; не null

getYear

public int getYear()
Получает поле года.

Этот метод возвращает примитивное значение int, соответствующее году.

Возвращаемый этим методом год является пролептическим согласно get(YEAR). Чтобы получить год эры, используйте get(YEAR_OF_ERA).

Возвращает:
год, от MIN_YEAR до MAX_YEAR

getMonthValue

public int getMonthValue()
Получает поле месяца года в диапазоне от 1 до 12.

Этот метод возвращает месяц в виде значения int в диапазоне от 1 до 12. В прикладном коде часто понятнее использовать перечисление Month, вызывая getMonth().

Возвращает:
месяц года, от 1 до 12
См. также:
  • getMonth()

getMonth

public Month getMonth()
Получает поле месяца года с помощью перечисления Month.

Этот метод возвращает для месяца элемент перечисления Month. Это позволяет избежать неоднозначности значений int. Если требуется доступ к примитивному значению int, перечисление предоставляет метод int value.

Возвращает:
месяц года; не null
См. также:
  • getMonthValue()

getDayOfMonth

public int getDayOfMonth()
Получает поле дня месяца.

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

Возвращает:
день месяца, от 1 до 31

getDayOfYear

public int getDayOfYear()
Получает поле дня года.

Этот метод возвращает примитивное значение int, соответствующее дню года.

Возвращает:
день года, от 1 до 365 или 366 в високосном году

getDayOfWeek

public DayOfWeek getDayOfWeek()
Получает поле дня недели, представленное перечислением DayOfWeek.

Этот метод возвращает для дня недели элемент перечисления DayOfWeek. Это позволяет избежать неоднозначности значений int. Если требуется доступ к примитивному значению int, перечисление предоставляет метод int value.

Дополнительную информацию можно получить из DayOfWeek. В неё входят текстовые названия значений.

Возвращает:
день недели; не null

isLeapYear

public boolean isLeapYear()
Проверяет, является ли год високосным согласно правилам пролептической календарной системы ISO.

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

Например, 1904 год является високосным, поскольку делится на 4. 1900 год не был високосным, поскольку делится на 100, однако 2000 год был високосным, поскольку делится на 400.

Вычисление является пролептическим: одни и те же правила применяются к далёкому будущему и далёкому прошлому. С исторической точки зрения это неточно, но соответствует стандарту ISO-8601.

Определено в:
isLeapYear в интерфейсе ChronoLocalDate
Возвращает:
true, если год високосный; в противном случае false

lengthOfMonth

public int lengthOfMonth()
Возвращает количество дней в месяце, представленном этой датой.

Возвращает количество дней в месяце. Например, для даты в январе возвращается 31.

Определено в:
lengthOfMonth в интерфейсе ChronoLocalDate
Возвращает:
количество дней в месяце

lengthOfYear

public int lengthOfYear()
Возвращает количество дней в году, представленном этой датой.

Возвращает количество дней в году: 365 или 366.

Определено в:
lengthOfYear в интерфейсе ChronoLocalDate
Возвращает:
366, если год високосный; в противном случае 365

with

public LocalDate with(TemporalAdjuster adjuster)
Возвращает копию этой даты с применённой корректировкой.

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

Простой корректировщик может изменить значение одного из полей, например года. Более сложный корректировщик может установить дату на последний день месяца.

Набор распространённых корректировок предоставляется классом TemporalAdjusters. Среди них — поиск «последнего дня месяца» и «следующей среды». Важные классы даты и времени также реализуют интерфейс TemporalAdjuster, например Month и MonthDay. Корректировщик отвечает за обработку особых случаев, таких как разная продолжительность месяцев и високосные годы.

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

 import static java.time.Month.*;
 import static java.time.temporal.TemporalAdjusters.*;

 result = localDate.with(JULY).with(lastDayOfMonth());

Результат этого метода получается вызовом метода TemporalAdjuster.adjustInto(Temporal) указанного корректировщика с передачей this в качестве аргумента.

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

Определено в:
with в интерфейсе ChronoLocalDate
Определено в:
with в интерфейсе Temporal
Параметры:
adjuster — корректировщик, который следует использовать; не null
Возвращает:
экземпляр LocalDate на основе this с применённой корректировкой; не null
Выбрасывает:
DateTimeException — если корректировку невозможно выполнить
ArithmeticException — при арифметическом переполнении

with

public LocalDate with(TemporalField field, long newValue)
Возвращает копию этой даты, в которой указанному полю присвоено новое значение.

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

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

Если поле является ChronoField, корректировка выполняется здесь. Поддерживаемые поля ведут себя следующим образом:

  • DAY_OF_WEEK — возвращает LocalDate с указанным днем недели. Дата корректируется не более чем на 6 дней вперед или назад в пределах недели с понедельника по воскресенье.
  • ALIGNED_DAY_OF_WEEK_IN_MONTH — возвращает LocalDate с указанным выровненным днем недели. Дата корректируется до указанного выровненного дня недели в пределах месяца. Выровненные недели отсчитываются так, что первая неделя данного месяца начинается в первый день этого месяца. Это может привести к смещению даты не более чем на 6 дней в следующий месяц.
  • ALIGNED_DAY_OF_WEEK_IN_YEAR — возвращает LocalDate с указанным выровненным днем недели. Дата корректируется до указанного выровненного дня недели в пределах года. Выровненные недели отсчитываются так, что первая неделя данного года начинается в первый день этого года. Это может привести к смещению даты не более чем на 6 дней в следующий год.
  • DAY_OF_MONTH — возвращает LocalDate с указанным днем месяца. Месяц и год не изменяются. Если день месяца недопустим для данного года и месяца, выбрасывается DateTimeException.
  • DAY_OF_YEAR — возвращает LocalDate с указанным днем года. Год не изменяется. Если день года недопустим для данного года, выбрасывается DateTimeException.
  • EPOCH_DAY — возвращает LocalDate с указанным днем эпохи. Это полностью заменяет дату и эквивалентно ofEpochDay(long).
  • ALIGNED_WEEK_OF_MONTH — возвращает LocalDate с указанной выровненной неделей месяца. Выровненные недели отсчитываются так, что первая неделя данного месяца начинается в первый день этого месяца. При корректировке дата перемещается целыми неделями, чтобы соответствовать указанной неделе. Результат будет иметь тот же день недели, что и эта дата. Это может привести к смещению даты на следующий месяц.
  • ALIGNED_WEEK_OF_YEAR — возвращает LocalDate с указанной выровненной неделей года. Выровненные недели отсчитываются так, что первая неделя данного года начинается в первый день этого года. При корректировке дата перемещается целыми неделями, чтобы соответствовать указанной неделе. Результат будет иметь тот же день недели, что и эта дата. Это может привести к смещению даты на следующий год.
  • MONTH_OF_YEAR — возвращает LocalDate с указанным месяцем года. Год не изменяется. День месяца также не изменяется, если только он не окажется недопустимым для нового месяца и года. В этом случае день месяца корректируется до наибольшего допустимого значения для нового месяца и года.
  • PROLEPTIC_MONTH — возвращает LocalDate с указанным пролептическим месяцем. День месяца не изменяется, если только он не окажется недопустимым для нового месяца и года. В этом случае день месяца корректируется до наибольшего допустимого значения для нового месяца и года.
  • YEAR_OF_ERA — возвращает LocalDate с указанным годом эры. Эра и месяц не изменяются. День месяца также не изменяется, если только он не окажется недопустимым для нового месяца и года. В этом случае день месяца корректируется до наибольшего допустимого значения для нового месяца и года.
  • YEAR — возвращает LocalDate с указанным годом. Месяц не изменяется. День месяца также не изменяется, если только он не окажется недопустимым для нового месяца и года. В этом случае день месяца корректируется до наибольшего допустимого значения для нового месяца и года.
  • ERA — возвращает LocalDate с указанной эрой. Год эры и месяц не изменяются. День месяца также не изменяется, если только он не окажется недопустимым для нового месяца и года. В этом случае день месяца корректируется до наибольшего допустимого значения для нового месяца и года.

Во всех случаях, если новое значение выходит за допустимый диапазон значений поля, выбрасывается DateTimeException.

Для всех остальных экземпляров ChronoField выбрасывается UnsupportedTemporalTypeException.

Если поле не является ChronoField, результат этого метода получается путем вызова TemporalField.adjustInto(Temporal, long) с передачей this в качестве аргумента. В этом случае поле определяет, следует ли корректировать момент времени и каким образом.

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

Указано в:
with в интерфейсе ChronoLocalDate
Указано в:
with в интерфейсе Temporal
Параметры:
field — поле, значение которого задается в результате; не null
newValue — новое значение поля в результате
Возвращает:
LocalDate на основе this с заданным значением указанного поля; не null
Выбрасывает:
DateTimeException — если значение поля невозможно задать
UnsupportedTemporalTypeException — если поле не поддерживается
ArithmeticException — при переполнении числового значения

withYear

public LocalDate withYear(int year)
Возвращает копию этого LocalDate с измененным годом.

Если день месяца недопустим для этого года, он будет заменен последним допустимым днем месяца.

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

Параметры:
year — год, который задается в результате; от MIN_YEAR до MAX_YEAR
Возвращает:
LocalDate на основе этой даты с указанным годом; не null
Выбрасывает:
DateTimeException — если значение года недопустимо

withMonth

public LocalDate withMonth(int month)
Возвращает копию этого LocalDate с измененным месяцем года.

Если день месяца недопустим для этого года, он будет заменен последним допустимым днем месяца.

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

Параметры:
month — месяц года, который задается в результате; от 1 (январь) до 12 (декабрь)
Возвращает:
LocalDate на основе этой даты с указанным месяцем; не null
Выбрасывает:
DateTimeException — если значение месяца года недопустимо

withDayOfMonth

public LocalDate withDayOfMonth(int dayOfMonth)
Возвращает копию этого LocalDate с измененным днем месяца.

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

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

Параметры:
dayOfMonth — день месяца, который задается в результате; от 1 до 28–31
Возвращает:
LocalDate на основе этой даты с указанным днем; не null
Выбрасывает:
DateTimeException — если значение дня месяца недопустимо или если день месяца недопустим для месяца и года

withDayOfYear

public LocalDate withDayOfYear(int dayOfYear)
Возвращает копию этого LocalDate с измененным днем года.

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

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

Параметры:
dayOfYear — день года, который задается в результате; от 1 до 365–366
Возвращает:
LocalDate на основе этой даты с указанным днем; не null
Выбрасывает:
DateTimeException — если значение дня года недопустимо или если день года недопустим для этого года

plus

public LocalDate plus(TemporalAmount amountToAdd)
Возвращает копию этой даты с добавленной указанной величиной.

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

Вычисление делегируется объекту величины путем вызова TemporalAmount.addTo(Temporal). Реализация величины может выполнять сложение любым способом, однако обычно она вызывает plus(long, TemporalUnit). Чтобы определить, можно ли успешно добавить величину, обратитесь к документации ее реализации.

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

Указано в:
plus в интерфейсе ChronoLocalDate
Указано в:
plus в интерфейсе Temporal
Параметры:
amountToAdd — величина, которую нужно добавить; не null
Возвращает:
LocalDate на основе этой даты с выполненным сложением; не null
Выбрасывает:
DateTimeException — если сложение невозможно выполнить
ArithmeticException — при переполнении числового значения

plus

public LocalDate plus(long amountToAdd, TemporalUnit unit)
Возвращает копию этой даты с добавленной указанной величиной.

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

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

Если поле является ChronoUnit, сложение выполняется здесь. Поддерживаемые поля ведут себя следующим образом:

  • DAYS — возвращает LocalDate с добавленным указанным количеством дней. Эквивалентно plusDays(long).
  • WEEKS — возвращает LocalDate с добавленным указанным количеством недель. Эквивалентно plusWeeks(long); продолжительность недели составляет 7 дней.
  • MONTHS — возвращает LocalDate с добавленным указанным количеством месяцев. Эквивалентно plusMonths(long). День месяца не изменяется, если только он не окажется недопустимым для нового месяца и года. В этом случае день месяца корректируется до наибольшего допустимого значения для нового месяца и года.
  • YEARS — возвращает LocalDate с добавленным указанным количеством лет. Эквивалентно plusYears(long). День месяца не изменяется, если только он не окажется недопустимым для нового месяца и года. В этом случае день месяца корректируется до наибольшего допустимого значения для нового месяца и года.
  • DECADES — возвращает LocalDate с добавленным указанным количеством десятилетий. Эквивалентно вызову plusYears(long) с величиной, умноженной на 10. День месяца не изменяется, если только он не окажется недопустимым для нового месяца и года. В этом случае день месяца корректируется до наибольшего допустимого значения для нового месяца и года.
  • CENTURIES — возвращает LocalDate с добавленным указанным количеством столетий. Эквивалентно вызову plusYears(long) с величиной, умноженной на 100. День месяца не изменяется, если только он не окажется недопустимым для нового месяца и года. В этом случае день месяца корректируется до наибольшего допустимого значения для нового месяца и года.
  • MILLENNIA — возвращает LocalDate с добавленным указанным количеством тысячелетий. Эквивалентно вызову plusYears(long) с величиной, умноженной на 1 000. День месяца не изменяется, если только он не окажется недопустимым для нового месяца и года. В этом случае день месяца корректируется до наибольшего допустимого значения для нового месяца и года.
  • ERAS — возвращает LocalDate с добавленным указанным количеством эр. Поддерживаются только две эры, поэтому величина должна быть равна единице, нулю или минус единице. Если величина не равна нулю, год изменяется так, чтобы год эры остался неизменным. День месяца не изменяется, если только он не окажется недопустимым для нового месяца и года. В этом случае день месяца корректируется до наибольшего допустимого значения для нового месяца и года.

Для всех остальных экземпляров ChronoUnit выбрасывается UnsupportedTemporalTypeException.

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

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

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

plusYears

public LocalDate plusYears(long yearsToAdd)
Возвращает копию этого LocalDate с добавленным указанным количеством лет.

Этот метод добавляет указанную величину к полю года в три этапа:

  1. Добавить введенное количество лет к полю года
  2. Проверить, не будет ли результирующая дата недопустимой
  3. При необходимости скорректировать день месяца до последнего допустимого дня

Например, добавление одного года к дате 2008-02-29 (високосный год) дало бы недопустимую дату 2009-02-29 (обычный год). Вместо возврата недопустимого результата выбирается последний допустимый день месяца — 2009-02-28.

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

Параметры:
yearsToAdd — количество лет для добавления; может быть отрицательным
Возвращает:
LocalDate на основе этой даты с добавленным количеством лет; не null
Выбрасывает:
DateTimeException — если результат выходит за поддерживаемый диапазон дат

plusMonths

public LocalDate plusMonths(long monthsToAdd)
Возвращает копию этого LocalDate с добавленным указанным количеством месяцев.

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

  1. Добавить введенное количество месяцев к полю месяца года
  2. Проверить, не будет ли результирующая дата недопустимой
  3. При необходимости скорректировать день месяца до последнего допустимого дня

Например, добавление одного месяца к дате 2007-03-31 дало бы недопустимую дату 2007-04-31. Вместо возврата недопустимого результата выбирается последний допустимый день месяца — 2007-04-30.

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

Параметры:
monthsToAdd — количество месяцев для добавления; может быть отрицательным
Возвращает:
LocalDate на основе этой даты с добавленным количеством месяцев; не null
Выбрасывает:
DateTimeException — если результат выходит за поддерживаемый диапазон дат

plusWeeks

public LocalDate plusWeeks(long weeksToAdd)
Возвращает копию этого LocalDate с добавленным указанным количеством недель.

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

Например, добавление одной недели к дате 2008-12-31 даст 2009-01-07.

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

Параметры:
weeksToAdd — количество недель для добавления; может быть отрицательным
Возвращает:
LocalDate на основе этой даты с добавленным количеством недель; не null
Выбрасывает:
DateTimeException — если результат выходит за поддерживаемый диапазон дат

plusDays

public LocalDate plusDays(long daysToAdd)
Возвращает копию этого LocalDate с добавленным указанным количеством дней.

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

Например, добавление одного дня к дате 2008-12-31 даст 2009-01-01.

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

Параметры:
daysToAdd — количество дней для добавления; может быть отрицательным
Возвращает:
LocalDate на основе этой даты с добавленным количеством дней; не null
Выбрасывает:
DateTimeException — если результат выходит за поддерживаемый диапазон дат

minus

public LocalDate minus(TemporalAmount amountToSubtract)
Возвращает копию этой даты с вычтенной указанной величиной.

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

Вычисление делегируется объекту величины путем вызова TemporalAmount.subtractFrom(Temporal). Реализация величины может выполнять вычитание любым способом, однако обычно она вызывает minus(long, TemporalUnit). Чтобы определить, можно ли успешно вычесть величину, обратитесь к документации ее реализации.

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

Указано в:
minus в интерфейсе ChronoLocalDate
Указано в:
minus в интерфейсе Temporal
Параметры:
amountToSubtract — величина, которую нужно вычесть; не null
Возвращает:
LocalDate на основе этой даты с выполненным вычитанием; не null
Выбрасывает:
DateTimeException — если вычитание невозможно выполнить
ArithmeticException — при переполнении числового значения

minus

public LocalDate minus(long amountToSubtract, TemporalUnit unit)
Возвращает копию этой даты с вычтенной указанной величиной.

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

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

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

Указано в:
minus в интерфейсе ChronoLocalDate
Указано в:
minus в интерфейсе Temporal
Параметры:
amountToSubtract — количество единиц измерения, вычитаемых из результата; может быть отрицательным
unit — единица измерения величины, которую нужно вычесть; не null
Возвращает:
LocalDate на основе этой даты с вычтенной указанной величиной; не null
Выбрасывает:
DateTimeException — если вычитание невозможно выполнить
UnsupportedTemporalTypeException — если единица измерения не поддерживается
ArithmeticException — при переполнении числового значения

minusYears

public LocalDate minusYears(long yearsToSubtract)
Возвращает копию этого LocalDate с вычтенным указанным количеством лет.

Этот метод вычитает указанную величину из поля года в три этапа:

  1. Вычесть введенное количество лет из поля года
  2. Проверить, не будет ли результирующая дата недопустимой
  3. При необходимости скорректировать день месяца до последнего допустимого дня

Например, вычитание одного года из даты 2008-02-29 (високосный год) дало бы недопустимую дату 2007-02-29 (обычный год). Вместо возврата недопустимого результата выбирается последний допустимый день месяца — 2007-02-28.

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

Параметры:
yearsToSubtract — количество лет для вычитания; может быть отрицательным
Возвращает:
LocalDate на основе этой даты с вычтенным количеством лет; не null
Выбрасывает:
DateTimeException — если результат выходит за поддерживаемый диапазон дат

minusMonths

public LocalDate minusMonths(long monthsToSubtract)
Возвращает копию этого LocalDate с вычтенным указанным количеством месяцев.

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

  1. Вычесть введенное количество месяцев из поля месяца года
  2. Проверить, не будет ли результирующая дата недопустимой
  3. При необходимости скорректировать день месяца до последнего допустимого дня

Например, вычитание одного месяца из даты 2007-03-31 дало бы недопустимую дату 2007-02-31. Вместо возврата недопустимого результата выбирается последний допустимый день месяца — 2007-02-28.

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

Параметры:
monthsToSubtract — количество месяцев для вычитания; может быть отрицательным
Возвращает:
LocalDate на основе этой даты с вычтенным количеством месяцев; не null
Выбрасывает:
DateTimeException — если результат выходит за поддерживаемый диапазон дат

minusWeeks

public LocalDate minusWeeks(long weeksToSubtract)
Возвращает копию этого LocalDate с вычтенным указанным количеством недель.

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

Например, вычитание одной недели из даты 2009-01-07 даст 2008-12-31.

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

Параметры:
weeksToSubtract — количество недель для вычитания; может быть отрицательным
Возвращает:
LocalDate на основе этой даты с вычтенным количеством недель; не null
Выбрасывает:
DateTimeException — если результат выходит за поддерживаемый диапазон дат

minusDays

public LocalDate minusDays(long daysToSubtract)
Возвращает копию этого LocalDate с вычтенным указанным количеством дней.

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

Например, вычитание одного дня из даты 2009-01-01 даст 2008-12-31.

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

Параметры:
daysToSubtract — количество дней для вычитания; может быть отрицательным
Возвращает:
LocalDate на основе этой даты с вычтенным количеством дней; не null
Выбрасывает:
DateTimeException — если результат выходит за поддерживаемый диапазон дат

query

public <R> R query(TemporalQuery<R> query)
Выполняет запрос к этой дате с помощью указанного запроса.

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

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

Указано в:
query в интерфейсе ChronoLocalDate
Указано в:
query в интерфейсе TemporalAccessor
Параметры типа:
R — тип результата
Параметры:
query — запрос для выполнения; не null
Возвращает:
результат запроса; может быть null (определяется запросом)
Выбрасывает:
DateTimeException — если невозможно выполнить запрос (определяется запросом)
ArithmeticException — при переполнении числового значения (определяется запросом)

adjustInto

public Temporal adjustInto(Temporal temporal)
Корректирует указанный временной объект так, чтобы его дата совпадала с датой этого объекта.

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

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

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

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

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

Указано в:
adjustInto в интерфейсе ChronoLocalDate
Указано в:
adjustInto в интерфейсе TemporalAdjuster
Параметры:
temporal — целевой объект для корректировки; не null
Возвращает:
скорректированный объект; не null
Выбрасывает:
DateTimeException — если выполнить корректировку невозможно
ArithmeticException — при переполнении числового значения

until

public long until(Temporal endExclusive, TemporalUnit unit)
Вычисляет время до другой даты в единицах указанной единицы измерения.

Этот метод вычисляет время между двумя объектами LocalDate в единицах одной TemporalUnit. Начальной и конечной точками являются this и указанная дата. Результат будет отрицательным, если конечная дата предшествует начальной. Переданный этому методу объект Temporal преобразуется в LocalDate с помощью from(TemporalAccessor). Например, количество дней между двумя датами можно вычислить с помощью startDate.until(endDate, DAYS).

Вычисление возвращает целое число, представляющее количество полных единиц между двумя датами. Например, промежуток в месяцах между 2012-06-15 и 2012-08-14 составляет только один месяц, поскольку до двух месяцев не хватает одного дня.

Этот метод можно использовать двумя эквивалентными способами. Первый — вызвать этот метод. Второй — использовать TemporalUnit.between(Temporal, Temporal):

  // these two lines are equivalent
  amount = start.until(end, MONTHS);
  amount = MONTHS.between(start, end);
Выбор следует сделать исходя из того, какой вариант делает код более читаемым.

Вычисление реализовано в этом методе для ChronoUnit. Поддерживаются единицы DAYS, WEEKS, MONTHS, YEARS, DECADES, CENTURIES, MILLENNIA и ERAS. Другие значения ChronoUnit приведут к выбросу исключения.

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

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

Определено в:
until в интерфейсе ChronoLocalDate
Определено в:
until в интерфейсе Temporal
Параметры:
endExclusive - конечная дата, не включается в результат; преобразуется в LocalDate, не null
unit - единица измерения времени, не null
Возвращает:
время между этой датой и конечной датой
Вызывает:
DateTimeException - если невозможно вычислить промежуток или конечный временной объект нельзя преобразовать в LocalDate
UnsupportedTemporalTypeException - если единица не поддерживается
ArithmeticException - при переполнении числового значения

until

public Period until(ChronoLocalDate endDateExclusive)
Вычисляет период между этой датой и другой датой в виде Period.

Этот метод вычисляет период между двумя датами в годах, месяцах и днях. Начальной и конечной точками являются this и указанная дата. Результат будет отрицательным, если конечная дата предшествует начальной. Знак будет одинаковым для лет, месяцев и дней.

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

Начальная дата включается, а конечная — нет. Период вычисляется путем вычитания полных месяцев, затем вычисляется оставшееся количество дней с корректировкой, обеспечивающей одинаковый знак для обоих значений. После этого количество месяцев нормализуется в годы и месяцы исходя из того, что год состоит из 12 месяцев. Месяц считается полным, если день месяца конечной даты больше или равен дню месяца начальной даты. Например, промежуток от 2010-01-15 до 2011-03-18 составляет «1 год, 2 месяца и 3 дня».

Этот метод можно использовать двумя эквивалентными способами. Первый — вызвать этот метод. Второй — использовать Period.between(LocalDate, LocalDate):

  // these two lines are equivalent
  period = start.until(end);
  period = Period.between(start, end);
Выбор следует сделать исходя из того, какой вариант делает код более читаемым.
Определено в:
until в интерфейсе ChronoLocalDate
Параметры:
endDateExclusive - конечная дата, не включается в результат; может относиться к любой хронологии, не null
Возвращает:
период между этой датой и конечной датой, не null

datesUntil

public Stream<LocalDate> datesUntil(LocalDate endExclusive)
Возвращает упорядоченный последовательный поток дат. Возвращаемый поток начинается с этой даты (включительно) и заканчивается endExclusive (не включительно), увеличиваясь на 1 день.

Этот метод эквивалентен datesUntil(endExclusive, Period.ofDays(1)).

Параметры:
endExclusive - конечная дата, не включается в результат, не null
Возвращает:
последовательный Stream для диапазона значений LocalDate
Вызывает:
IllegalArgumentException - если конечная дата предшествует этой дате
Начиная с версии:
9

datesUntil

public Stream<LocalDate> datesUntil(LocalDate endExclusive, Period step)
Возвращает упорядоченный последовательный поток дат с заданным шагом. Возвращаемый поток начинается с этой даты (включительно) и заканчивается endExclusive (не включительно).

n-я дата в потоке равна this.plus(step.multipliedBy(n)) (однако результат умножения шага никогда не вызывает переполнения). Например, если эта дата — 2015-01-31, конечная дата — 2015-05-01, а шаг равен 1 месяцу, поток содержит 2015-01-31, 2015-02-28, 2015-03-31 и 2015-04-30.

Параметры:
endExclusive - конечная дата, не включается в результат, не null
step - ненулевой неотрицательный Period, задающий шаг.
Возвращает:
последовательный Stream для диапазона значений LocalDate
Вызывает:
IllegalArgumentException - если шаг равен нулю, или step.getDays() и step.toTotalMonths() имеют противоположные знаки, или конечная дата предшествует этой дате при положительном шаге, или конечная дата следует за этой датой при отрицательном шаге
Начиная с версии:
9

format

public String format(DateTimeFormatter formatter)
Форматирует эту дату с помощью указанного форматтера.

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

Определено в:
format в интерфейсе ChronoLocalDate
Параметры:
formatter - используемый форматтер, не null
Возвращает:
отформатированную строку с датой, не null
Вызывает:
DateTimeException - если при форматировании произошла ошибка

atTime

public LocalDateTime atTime(LocalTime time)
Объединяет эту дату со временем, чтобы создать LocalDateTime.

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

Определено в:
atTime в интерфейсе ChronoLocalDate
Параметры:
time - объединяемое время, не null
Возвращает:
локальные дата и время, образованные этой датой и указанным временем, не null

atTime

public LocalDateTime atTime(int hour, int minute)
Объединяет эту дату со временем, чтобы создать LocalDateTime.

Возвращает LocalDateTime, образованный этой датой и указанными часом и минутой. Значения секунд и наносекунд устанавливаются в ноль. Каждое отдельное поле времени должно находиться в допустимом диапазоне. Допустимы все возможные сочетания даты и времени.

Параметры:
hour - час дня, от 0 до 23
minute - минута часа, от 0 до 59
Возвращает:
локальные дата и время, образованные этой датой и указанным временем, не null
Вызывает:
DateTimeException - если значение какого-либо поля выходит за допустимый диапазон

atTime

public LocalDateTime atTime(int hour, int minute, int second)
Объединяет эту дату со временем, чтобы создать LocalDateTime.

Возвращает LocalDateTime, образованный этой датой и указанными часом, минутой и секундой. Значение наносекунд устанавливается в ноль. Каждое отдельное поле времени должно находиться в допустимом диапазоне. Допустимы все возможные сочетания даты и времени.

Параметры:
hour - час дня, от 0 до 23
minute - минута часа, от 0 до 59
second - секунда минуты, от 0 до 59
Возвращает:
локальные дата и время, образованные этой датой и указанным временем, не null
Вызывает:
DateTimeException - если значение какого-либо поля выходит за допустимый диапазон

atTime

public LocalDateTime atTime(int hour, int minute, int second, int nanoOfSecond)
Объединяет эту дату со временем, чтобы создать LocalDateTime.

Возвращает LocalDateTime, образованный этой датой и указанными часом, минутой, секундой и наносекундой. Каждое отдельное поле времени должно находиться в допустимом диапазоне. Допустимы все возможные сочетания даты и времени.

Параметры:
hour - час дня, от 0 до 23
minute - минута часа, от 0 до 59
second - секунда минуты, от 0 до 59
nanoOfSecond - наносекунда, от 0 до 999,999,999
Возвращает:
локальные дата и время, образованные этой датой и указанным временем, не null
Вызывает:
DateTimeException - если значение какого-либо поля выходит за допустимый диапазон

atTime

public OffsetDateTime atTime(OffsetTime time)
Объединяет эту дату со временем со смещением, чтобы создать OffsetDateTime.

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

Параметры:
time - объединяемое время, не null
Возвращает:
дата и время со смещением, образованные этой датой и указанным временем, не null

atStartOfDay

public LocalDateTime atStartOfDay()
Объединяет эту дату со временем полуночи, чтобы создать LocalDateTime в начале этой даты.

Возвращает LocalDateTime, образованный этой датой и временем полуночи — 00:00 — в начале этой даты.

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

atStartOfDay

public ZonedDateTime atStartOfDay(ZoneId zone)
Возвращает дату и время с часовым поясом, начиная с этой даты и с самого раннего допустимого времени согласно правилам часового пояса.

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

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

Если идентификатор часового пояса — это ZoneOffset, результат всегда будет содержать время полуночи.

Чтобы преобразовать дату и время в конкретное время в заданном часовом поясе, вызовите atTime(LocalTime), а затем LocalDateTime.atZone(ZoneId).

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

toEpochSecond

public long toEpochSecond(LocalTime time, ZoneOffset offset)
Преобразует этот LocalDate в количество секунд, прошедших с начала эпохи 1970-01-01T00:00:00Z.

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

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

compareTo

public int compareTo(ChronoLocalDate other)
Сравнивает эту дату с другой датой.

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

Если все сравниваемые даты являются экземплярами LocalDate, сравнение будет полностью основано на дате. Если некоторые сравниваемые даты принадлежат к разным хронологиям, учитывается также хронология; см. ChronoLocalDate.compareTo(ChronoLocalDate).

Определено в:
compareTo в интерфейсе ChronoLocalDate
Определено в:
compareTo в интерфейсе Comparable<ChronoLocalDate>
Параметры:
other - другая дата для сравнения, не null
Возвращает:
значение сравнения: сначала результат сравнения этой локальной даты с other локальной датой, затем этой хронологии с other хронологией; возвращается первый ненулевой результат, а если таких нет — ноль
См. также:
  • isBefore(ChronoLocalDate)
  • isAfter(ChronoLocalDate)

isAfter

public boolean isAfter(ChronoLocalDate other)
Проверяет, следует ли эта дата за указанной датой.

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

  LocalDate a = LocalDate.of(2012, 6, 30);
  LocalDate b = LocalDate.of(2012, 7, 1);
  a.isAfter(b) == false
  a.isAfter(a) == false
  b.isAfter(a) == true

Этот метод учитывает только положение двух дат на локальной временной шкале. Он не учитывает хронологию или календарную систему. Это отличается от сравнения в compareTo(ChronoLocalDate), но соответствует подходу метода ChronoLocalDate.timeLineOrder().

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

isBefore

public boolean isBefore(ChronoLocalDate other)
Проверяет, предшествует ли эта дата указанной дате.

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

  LocalDate a = LocalDate.of(2012, 6, 30);
  LocalDate b = LocalDate.of(2012, 7, 1);
  a.isBefore(b) == true
  a.isBefore(a) == false
  b.isBefore(a) == false

Этот метод учитывает только положение двух дат на локальной временной шкале. Он не учитывает хронологию или календарную систему. Это отличается от сравнения в compareTo(ChronoLocalDate), но соответствует подходу метода ChronoLocalDate.timeLineOrder().

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

isEqual

public boolean isEqual(ChronoLocalDate other)
Проверяет, равна ли эта дата указанной дате.

Проверяет, представляет ли эта дата тот же момент на локальной временной шкале, что и другая дата.

  LocalDate a = LocalDate.of(2012, 6, 30);
  LocalDate b = LocalDate.of(2012, 7, 1);
  a.isEqual(b) == false
  a.isEqual(a) == true
  b.isEqual(a) == false

Этот метод учитывает только положение двух дат на локальной временной шкале. Он не учитывает хронологию или календарную систему. Это отличается от сравнения в compareTo(ChronoLocalDate), но соответствует подходу метода ChronoLocalDate.timeLineOrder().

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

equals

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

Сравнивает этот объект LocalDate с другим, проверяя совпадение дат.

Сравниваются только объекты типа LocalDate; для объектов других типов возвращается false. Чтобы сравнить даты двух экземпляров TemporalAccessor, в том числе даты из разных хронологий, используйте ChronoField.EPOCH_DAY в качестве компаратора.

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

hashCode

public int hashCode()
Хеш-код этой даты.
Определено в:
hashCode в интерфейсе ChronoLocalDate
Переопределяет:
hashCode в классе Object
Возвращает:
подходящий хеш-код
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

toString

public String toString()
Выводит эту дату в виде String, например 2007-12-03.

Результат будет представлен в формате ISO-8601 uuuu-MM-dd.

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

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