Spec-Zone.ru › OpenJDK 25

Класс 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

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

getChronology, toEpochSecond, toInstant

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

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)
Проверяет, поддерживается ли указанное поле.

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

Проверяет, можно ли прибавить указанную единицу к этим дате и времени или вычесть её из них. Если нет, вызовы методов 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, 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/LocalDateTime.html

Spec-Zone.ru

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