Spec-Zone.ru › OpenJDK 27

Класс LocalDateTime

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

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

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

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

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

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

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

Модификатор и тип Поле Описание
static final LocalDateTime MAX
Максимальное поддерживаемое значение LocalDateTime: '+999999999-12-31T23:59:59.999999999'.
static final LocalDateTime MIN
Минимальное поддерживаемое значение LocalDateTime: '-999999999-01-01T00:00:00'.

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

Модификатор и тип Метод Описание
Temporal adjustInto(Temporal temporal)
Изменяет указанный объект даты и времени так, чтобы он имел те же дату и время, что и этот объект.
OffsetDateTime atOffset(ZoneOffset offset)
Объединяет эту дату и время со смещением, чтобы создать OffsetDateTime.
ZonedDateTime atZone(ZoneId zone)
Объединяет эту дату и время с часовым поясом, чтобы создать ZonedDateTime.
int compareTo(ChronoLocalDateTime<?> other)
Сравнивает эту дату и время с другой датой и временем.
boolean equals(Object obj)
Проверяет, равна ли эта дата и время другой дате и времени.
String format(DateTimeFormatter formatter)
Форматирует эту дату и время с помощью указанного форматтера.
static LocalDateTime from(TemporalAccessor temporal)
Получает экземпляр LocalDateTime из объекта даты и времени.
int get(TemporalField field)
Получает значение указанного поля этой даты и времени в виде int.
int getDayOfMonth()
Получает поле дня месяца.
DayOfWeek getDayOfWeek()
Получает поле дня недели, представляющее собой перечисление DayOfWeek.
int getDayOfYear()
Получает поле дня года.
int getHour()
Получает поле часа суток.
long getLong(TemporalField field)
Получает значение указанного поля этой даты и времени в виде long.
int getMinute()
Получает поле минуты часа.
Month getMonth()
Получает поле месяца года с помощью перечисления Month.
int getMonthValue()
Получает поле месяца года в диапазоне от 1 до 12.
int getNano()
Получает поле наносекунды секунды.
int getSecond()
Получает поле секунды минуты.
int getYear()
Получает поле года.
int hashCode()
Хеш-код этой даты и времени.
boolean isAfter(ChronoLocalDateTime<?> other)
Проверяет, наступает ли эта дата и время после указанной даты и времени.
boolean isBefore(ChronoLocalDateTime<?> other)
Проверяет, наступает ли эта дата и время до указанной даты и времени.
boolean isEqual(ChronoLocalDateTime<?> other)
Проверяет, равна ли эта дата и время указанной дате и времени.
boolean isSupported(TemporalField field)
Проверяет, поддерживается ли указанное поле.
boolean isSupported(TemporalUnit unit)
Проверяет, поддерживается ли указанная единица измерения.
LocalDateTime minus(long amountToSubtract, TemporalUnit unit)
Возвращает копию этой даты и времени с вычтенным указанным количеством.
LocalDateTime minus(TemporalAmount amountToSubtract)
Возвращает копию этой даты и времени с вычтенным указанным количеством.
LocalDateTime minusDays(long days)
Возвращает копию этого LocalDateTime с вычтенным указанным количеством дней.
LocalDateTime minusHours(long hours)
Возвращает копию этого LocalDateTime с вычтенным указанным количеством часов.
LocalDateTime minusMinutes(long minutes)
Возвращает копию этого LocalDateTime с вычтенным указанным количеством минут.
LocalDateTime minusMonths(long months)
Возвращает копию этого LocalDateTime с вычтенным указанным количеством месяцев.
LocalDateTime minusNanos(long nanos)
Возвращает копию этого LocalDateTime с вычтенным указанным количеством наносекунд.
LocalDateTime minusSeconds(long seconds)
Возвращает копию этого LocalDateTime с вычтенным указанным количеством секунд.
LocalDateTime minusWeeks(long weeks)
Возвращает копию этого LocalDateTime с вычтенным указанным количеством недель.
LocalDateTime minusYears(long years)
Возвращает копию этого LocalDateTime с вычтенным указанным количеством лет.
static LocalDateTime now()
Получает текущую дату и время по системным часам в часовом поясе по умолчанию.
static LocalDateTime now(Clock clock)
Получает текущую дату и время по указанным часам.
static LocalDateTime now(ZoneId zone)
Получает текущую дату и время по системным часам в указанном часовом поясе.
static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute)
Получает экземпляр LocalDateTime из года, месяца, дня, часа и минуты, устанавливая секунды и наносекунды в ноль.
static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second)
Получает экземпляр LocalDateTime из года, месяца, дня, часа, минуты и секунд, устанавливая наносекунды в ноль.
static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond)
Получает экземпляр LocalDateTime из года, месяца, дня, часа, минут, секунд и наносекунд.
static LocalDateTime of(int year, Month month, int dayOfMonth, int hour, int minute)
Получает экземпляр LocalDateTime из года, месяца, дня, часа и минуты, устанавливая секунды и наносекунды в ноль.
static LocalDateTime of(int year, Month month, int dayOfMonth, int hour, int minute, int second)
Получает экземпляр LocalDateTime из года, месяца, дня, часа, минут и секунд, устанавливая наносекунды в ноль.
static LocalDateTime of(int year, Month month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond)
Получает экземпляр LocalDateTime из года, месяца, дня, часа, минут, секунд и наносекунд.
static LocalDateTime of(LocalDate date, LocalTime time)
Получает экземпляр LocalDateTime из даты и времени.
static LocalDateTime ofEpochSecond(long epochSecond, int nanoOfSecond, ZoneOffset offset)
Получает экземпляр LocalDateTime, используя секунды, отсчитываемые от эпохи 1970-01-01T00:00:00Z.
static LocalDateTime ofInstant(Instant instant, ZoneId zone)
Получает экземпляр LocalDateTime из Instant и идентификатора часового пояса.
static LocalDateTime parse(CharSequence text)
Получает экземпляр LocalDateTime из текстовой строки, например 2007-12-03T10:15:30.
static LocalDateTime parse(CharSequence text, DateTimeFormatter formatter)
Получает экземпляр LocalDateTime из текстовой строки с помощью указанного форматтера.
LocalDateTime plus(long amountToAdd, TemporalUnit unit)
Возвращает копию этой даты и времени с добавленным указанным количеством.
LocalDateTime plus(TemporalAmount amountToAdd)
Возвращает копию этой даты и времени с добавленным указанным количеством.
LocalDateTime plusDays(long days)
Возвращает копию этого LocalDateTime с добавленным указанным количеством дней.
LocalDateTime plusHours(long hours)
Возвращает копию этого LocalDateTime с добавленным указанным количеством часов.
LocalDateTime plusMinutes(long minutes)
Возвращает копию этого LocalDateTime с добавленным указанным количеством минут.
LocalDateTime plusMonths(long months)
Возвращает копию этого LocalDateTime с добавленным указанным количеством месяцев.
LocalDateTime plusNanos(long nanos)
Возвращает копию этого LocalDateTime с добавленным указанным количеством наносекунд.
LocalDateTime plusSeconds(long seconds)
Возвращает копию этого LocalDateTime с добавленным указанным количеством секунд.
LocalDateTime plusWeeks(long weeks)
Возвращает копию этого LocalDateTime с добавленным указанным количеством недель.
LocalDateTime plusYears(long years)
Возвращает копию этого LocalDateTime с добавленным указанным количеством лет.
<R> R query(TemporalQuery<R> query)
Выполняет запрос к этой дате и времени с помощью указанного запроса.
ValueRange range(TemporalField field)
Получает диапазон допустимых значений для указанного поля.
LocalDate toLocalDate()
Получает часть LocalDate этой даты и времени.
LocalTime toLocalTime()
Получает часть LocalTime этой даты и времени.
String toString()
Выводит эту дату и время в виде String, например 2007-12-03T10:15:30.
LocalDateTime truncatedTo(TemporalUnit unit)
Возвращает копию этого LocalDateTime с усечённым временем.
long until(Temporal endExclusive, TemporalUnit unit)
Вычисляет промежуток времени до другой даты и времени в единицах указанной единицы измерения.
LocalDateTime with(TemporalAdjuster adjuster)
Возвращает скорректированную копию этой даты и времени.
LocalDateTime with(TemporalField field, long newValue)
Возвращает копию этой даты и времени, в которой указанному полю присвоено новое значение.
LocalDateTime withDayOfMonth(int dayOfMonth)
Возвращает копию этого LocalDateTime с изменённым днём месяца.
LocalDateTime withDayOfYear(int dayOfYear)
Возвращает копию этого LocalDateTime с изменённым днём года.
LocalDateTime withHour(int hour)
Возвращает копию этого LocalDateTime с изменённым часом суток.
LocalDateTime withMinute(int minute)
Возвращает копию этого LocalDateTime с изменённой минутой часа.
LocalDateTime withMonth(int month)
Возвращает копию этого LocalDateTime с изменённым месяцем года.
LocalDateTime withNano(int nanoOfSecond)
Возвращает копию этого LocalDateTime с изменённой наносекундой секунды.
LocalDateTime withSecond(int second)
Возвращает копию этого LocalDateTime с изменённой секундой минуты.
LocalDateTime withYear(int year)
Возвращает копию этого LocalDateTime с изменённым годом.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
protected void finalize()
Устарел, будет удалён: этот элемент API планируется удалить в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ждать пробуждения, обычно вследствие уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ждать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения определённого промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ждать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения определённого промежутка реального времени.

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

getChronology, toEpochSecond, toInstant
Модификатор и тип Метод Описание
default Chronology getChronology()
Получает хронологию этой даты и времени.
default long toEpochSecond(ZoneOffset offset)
Преобразует эту дату и время в количество секунд, отсчитываемых от эпохи 1970-01-01T00:00:00Z.
default Instant toInstant(ZoneOffset offset)
Преобразует эту дату и время в Instant.

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

MIN

public static final LocalDateTime MIN
Минимальное поддерживаемое значение LocalDateTime — '-999999999-01-01T00:00:00'. Это местные дата и время полуночи в начале минимальной даты. Значение объединяет LocalDate.MIN и LocalTime.MIN. Приложение может использовать это значение как дату и время в «далёком прошлом».

MAX

public static final LocalDateTime MAX
Максимальное поддерживаемое значение LocalDateTime — '+999999999-12-31T23:59:59.999999999'. Это местные дата и время непосредственно перед полуночью в конце максимальной даты. Значение объединяет LocalDate.MAX и LocalTime.MAX. Приложение может использовать это значение как дату и время в «далёком будущем».

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

now

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

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

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

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

now

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

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

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

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

now

public static LocalDateTime now(Clock clock)
Получает текущие дату и время из указанных часов.

Для получения текущих даты и времени будет выполнен запрос к указанным часам. Этот метод позволяет использовать альтернативные часы для тестирования. Альтернативные часы можно создать с помощью dependency injection.

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

of

public static LocalDateTime of(int year, Month month, int dayOfMonth, int hour, int minute)
Создаёт экземпляр LocalDateTime на основе года, месяца, дня, часа и минуты; секунды и наносекунды устанавливаются в ноль.

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

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

of

public static LocalDateTime of(int year, Month month, int dayOfMonth, int hour, int minute, int second)
Создаёт экземпляр LocalDateTime на основе года, месяца, дня, часа, минуты и секунды; наносекунды устанавливаются в ноль.

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

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

of

public static LocalDateTime of(int year, Month month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond)
Создаёт экземпляр LocalDateTime на основе года, месяца, дня, часа, минуты, секунды и наносекунды.

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

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

of

public static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute)
Создаёт экземпляр LocalDateTime на основе года, месяца, дня, часа и минуты; секунды и наносекунды устанавливаются в ноль.

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

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

of

public static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second)
Создаёт экземпляр LocalDateTime на основе года, месяца, дня, часа, минуты и секунды; наносекунды устанавливаются в ноль.

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

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

of

public static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond)
Создаёт экземпляр LocalDateTime на основе года, месяца, дня, часа, минуты, секунды и наносекунды.

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

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

of

public static LocalDateTime of(LocalDate date, LocalTime time)
Создаёт экземпляр LocalDateTime на основе даты и времени.
Параметры:
date — местная дата; не null
time — местное время; не null
Возвращает:
местные дату и время; не null

ofInstant

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

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

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

ofEpochSecond

public static LocalDateTime ofEpochSecond(long epochSecond, int nanoOfSecond, ZoneOffset offset)
Создаёт экземпляр LocalDateTime, используя секунды, отсчитываемые от начала эпохи 1970-01-01T00:00:00Z.

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

Параметры:
epochSecond — количество секунд от начала эпохи 1970-01-01T00:00:00Z
nanoOfSecond — наносекунды в пределах секунды, от 0 до 999,999,999
offset — смещение часового пояса; не null
Возвращает:
местные дату и время; не null
Выбрасывает:
DateTimeException — если результат выходит за поддерживаемый диапазон или значение наносекунд в секунде недопустимо

from

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

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

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

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

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

parse

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

Строка должна представлять допустимые дату и время; для её разбора используется DateTimeFormatter.ISO_LOCAL_DATE_TIME.

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

parse

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

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

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

isSupported

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

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

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

  • NANO_OF_SECOND
  • NANO_OF_DAY
  • MICRO_OF_SECOND
  • MICRO_OF_DAY
  • MILLI_OF_SECOND
  • MILLI_OF_DAY
  • SECOND_OF_MINUTE
  • SECOND_OF_DAY
  • MINUTE_OF_HOUR
  • MINUTE_OF_DAY
  • HOUR_OF_AMPM
  • CLOCK_HOUR_OF_AMPM
  • HOUR_OF_DAY
  • CLOCK_HOUR_OF_DAY
  • AMPM_OF_DAY
  • 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 в интерфейсе ChronoLocalDateTime<LocalDate>
Определено в:
isSupported в интерфейсе TemporalAccessor
Параметры:
field — поле для проверки; для null возвращается false
Возвращает:
true, если поле поддерживается для этих даты и времени; иначе false

isSupported

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

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

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

  • NANOS
  • MICROS
  • MILLIS
  • SECONDS
  • MINUTES
  • HOURS
  • HALF_DAYS
  • DAYS
  • WEEKS
  • MONTHS
  • YEARS
  • DECADES
  • CENTURIES
  • MILLENNIA
  • ERAS
Для всех остальных значений ChronoUnit будет возвращено false.

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

Определено в:
isSupported в интерфейсе ChronoLocalDateTime<LocalDate>
Определено в:
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 возвращает допустимые значения, определяемые этими датой и временем, за исключением NANO_OF_DAY, MICRO_OF_DAY, 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 — при переполнении числового значения

toLocalDate

public LocalDate toLocalDate()
Получает часть этих даты и времени, содержащую LocalDate.

Метод возвращает LocalDate с теми же годом, месяцем и днём, что и у этих даты и времени.

Определено в:
toLocalDate в интерфейсе ChronoLocalDateTime<LocalDate>
Возвращает:
часть этих даты и времени, содержащую дату; не 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

toLocalTime

public LocalTime toLocalTime()
Получает часть этих даты и времени, содержащую LocalTime.

Метод возвращает LocalTime с теми же часом, минутой, секундой и наносекундой, что и у этих даты и времени.

Определено в:
toLocalTime в интерфейсе ChronoLocalDateTime<LocalDate>
Возвращает:
часть этих даты и времени, содержащую время; не null

getHour

public int getHour()
Получает значение поля часа суток.
Возвращает:
час суток, от 0 до 23

getMinute

public int getMinute()
Получает значение поля минуты часа.
Возвращает:
минута часа, от 0 до 59

getSecond

public int getSecond()
Возвращает значение поля «секунда минуты».
Возвращает:
значение поля «секунда минуты» от 0 до 59

getNano

public int getNano()
Возвращает значение поля «наносекунда секунды».
Возвращает:
значение поля «наносекунда секунды» от 0 до 999,999,999

with

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

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

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

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

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

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

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

Классы LocalDate и LocalTime реализуют TemporalAdjuster, поэтому этот метод можно использовать для изменения даты, времени или смещения:

 result = localDateTime.with(date);
 result = localDateTime.with(time);

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

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

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

with

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

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

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

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

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

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

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

withYear

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

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

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

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

withMonth

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

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

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

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

withDayOfMonth

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

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

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

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

withDayOfYear

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

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

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

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

withHour

public LocalDateTime withHour(int hour)
Возвращает копию этого LocalDateTime с изменённым часом суток.

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

Параметры:
hour — час суток, который нужно установить в результате, от 0 до 23
Возвращает:
объект LocalDateTime на основе этой даты и времени с указанным часом, не null
Вызывает:
DateTimeException — если значение часа недопустимо

withMinute

public LocalDateTime withMinute(int minute)
Возвращает копию этого LocalDateTime с изменённой минутой часа.

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

Параметры:
minute — минута часа, которую нужно установить в результате, от 0 до 59
Возвращает:
объект LocalDateTime на основе этой даты и времени с указанной минутой, не null
Вызывает:
DateTimeException — если значение минуты недопустимо

withSecond

public LocalDateTime withSecond(int second)
Возвращает копию этого LocalDateTime с изменённой секундой минуты.

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

Параметры:
second — секунда минуты, которую нужно установить в результате, от 0 до 59
Возвращает:
объект LocalDateTime на основе этой даты и времени с указанной секундой, не null
Вызывает:
DateTimeException — если значение секунды недопустимо

withNano

public LocalDateTime withNano(int nanoOfSecond)
Возвращает копию этого LocalDateTime с изменённой наносекундой секунды.

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

Параметры:
nanoOfSecond — наносекунда секунды, которую нужно установить в результате, от 0 до 999,999,999
Возвращает:
объект LocalDateTime на основе этой даты и времени с указанной наносекундой, не null
Вызывает:
DateTimeException — если значение наносекунды недопустимо

truncatedTo

public LocalDateTime truncatedTo(TemporalUnit unit)
Возвращает копию этого LocalDateTime с усечённым временем.

Усечение возвращает копию исходной даты и времени, в которой поля, меньшие указанной единицы, установлены в ноль. Например, усечение с единицей minutes установит поля секунды минуты и наносекунды секунды в ноль.

Длительность единицы должна делить продолжительность стандартных суток без остатка. Это условие выполняется для всех предусмотренных единиц времени из ChronoUnit и DAYS. Для остальных единиц выбрасывается исключение.

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

Параметры:
unit — единица, до которой нужно усечь, не null
Возвращает:
объект LocalDateTime на основе этой даты и времени с усечённым временем, не null
Вызывает:
DateTimeException — если усечение невозможно
UnsupportedTemporalTypeException — если единица не поддерживается

plus

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

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

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

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

Определено в:
plus в интерфейсе ChronoLocalDateTime<LocalDate>
Определено в:
plus в интерфейсе Temporal
Параметры:
amountToAdd — добавляемая величина, не null
Возвращает:
объект LocalDateTime на основе этой даты и времени с выполненным сложением, не null
Вызывает:
DateTimeException — если сложение невозможно выполнить
ArithmeticException — при числовом переполнении

plus

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

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

Если поле является ChronoUnit, сложение выполняется здесь. Даты складываются в соответствии с LocalDate.plus(long, TemporalUnit). Время складывается в соответствии с LocalTime.plus(long, TemporalUnit), а переполнение по дням добавляется так же, как при использовании plusDays(long).

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

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

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

plusYears

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

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

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

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

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

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

plusMonths

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

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

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

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

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

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

plusWeeks

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

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

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

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

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

plusDays

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

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

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

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

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

plusHours

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

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

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

plusMinutes

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

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

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

plusSeconds

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

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

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

plusNanos

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

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

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

minus

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

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

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

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

Определено в:
minus в интерфейсе ChronoLocalDateTime<LocalDate>
Определено в:
minus в интерфейсе Temporal
Параметры:
amountToSubtract — вычитаемая величина, не null
Возвращает:
объект LocalDateTime на основе этой даты и времени с выполненным вычитанием, не null
Вызывает:
DateTimeException — если вычитание невозможно выполнить
ArithmeticException — при числовом переполнении

minus

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

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

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

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

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

minusYears

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

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

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

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

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

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

minusMonths

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

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

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

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

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

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

minusWeeks

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

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

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

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

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

minusDays

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

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

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

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

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

minusHours

public LocalDateTime minusHours(long hours)
Возвращает копию этого LocalDateTime, из которой вычтено указанное количество часов.

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

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

minusMinutes

public LocalDateTime minusMinutes(long minutes)
Возвращает копию этого LocalDateTime, из которой вычтено указанное количество минут.

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

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

minusSeconds

public LocalDateTime minusSeconds(long seconds)
Возвращает копию этого LocalDateTime, из которой вычтено указанное количество секунд.

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

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

minusNanos

public LocalDateTime minusNanos(long nanos)
Возвращает копию этого LocalDateTime, из которой вычтено указанное количество наносекунд.

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

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

query

public <R> R query(TemporalQuery<R> query)
Запрашивает сведения об этой дате и времени с помощью указанного запроса.

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

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

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

adjustInto

public Temporal adjustInto(Temporal temporal)
Изменяет указанный объект 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 в интерфейсе ChronoLocalDateTime<LocalDate>
Определено в:
adjustInto в интерфейсе TemporalAdjuster
Параметры:
temporal — целевой объект для изменения; не null
Возвращает:
изменённый объект; не null
Вызывает исключение:
DateTimeException — если выполнить изменение невозможно
ArithmeticException — при переполнении числового значения

until

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

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

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

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

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

Для ChronoUnit вычисление реализовано в этом методе. Поддерживаются единицы NANOS, MICROS, MILLIS, SECONDS, MINUTES, HOURS, HALF_DAYS, DAYS, WEEKS, MONTHS, YEARS, DECADES, CENTURIES, MILLENNIA и ERAS. Для других значений ChronoUnit будет выброшено исключение.

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

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

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

format

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

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

Определено в:
format в интерфейсе ChronoLocalDateTime<LocalDate>
Параметры:
formatter — используемый форматтер; не null
Возвращает:
отформатированная строка с датой и временем; не null
Вызывает исключение:
DateTimeException — если при форматировании произошла ошибка

atOffset

public OffsetDateTime atOffset(ZoneOffset offset)
Объединяет эту дату и время со смещением, создавая OffsetDateTime.

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

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

atZone

public ZonedDateTime atZone(ZoneId zone)
Объединяет эту дату и время с часовым поясом, создавая ZonedDateTime.

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

Локальные дата и время преобразуются в единственный момент на временной шкале. Для этого по правилам часового пояса, заданного идентификатором часового пояса, определяется действительное смещение относительно UTC/Гринвича с помощью rules.

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

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

Чтобы получить более позднее смещение при перекрытии, вызовите ZonedDateTime.withLaterOffsetAtOverlap() для результата этого метода. Чтобы при разрыве или перекрытии выбрасывалось исключение, используйте ZonedDateTime.ofStrict(LocalDateTime, ZoneOffset, ZoneId).

Определено в:
atZone в интерфейсе ChronoLocalDateTime<LocalDate>
Параметры:
zone — используемый часовой пояс; не null
Возвращает:
дата и время с часовым поясом, образованные на основе этой даты и времени; не null

compareTo

public int compareTo(ChronoLocalDateTime<?> other)
Сравнивает эту дату и время с другой датой и временем.

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

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

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

isAfter

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

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

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

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

Определено в:
isAfter в интерфейсе ChronoLocalDateTime<LocalDate>
Параметры:
other — другая дата и время для сравнения; не null
Возвращает:
true, если эта дата и время наступают после указанной даты и времени

isBefore

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

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

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

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

Определено в:
isBefore в интерфейсе ChronoLocalDateTime<LocalDate>
Параметры:
other — другая дата и время для сравнения; не null
Возвращает:
true, если эта дата и время наступают до указанной даты и времени

isEqual

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

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

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

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

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

equals

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

Сравнивает этот LocalDateTime с другим, проверяя совпадение даты и времени. Сравниваются только объекты типа LocalDateTime; для объектов других типов возвращается false.

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

hashCode

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

toString

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

Вывод будет представлен в одном из следующих форматов ISO-8601:

  • uuuu-MM-dd'T'HH:mm
  • uuuu-MM-dd'T'HH:mm:ss
  • uuuu-MM-dd'T'HH:mm:ss.SSS
  • uuuu-MM-dd'T'HH:mm:ss.SSSSSS
  • uuuu-MM-dd'T'HH:mm:ss.SSSSSSSSS
Будет использован наиболее короткий формат, который выводит полное значение времени; пропущенные части считаются равными нулю.
Определено в:
toString в интерфейсе ChronoLocalDateTime<LocalDate>
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этой даты и времени; не null

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, 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.

Spec-Zone.ru

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