Spec-Zone.ru › OpenJDK 21

Класс 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 с изменённым годом.

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

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

Методы, объявленные в интерфейсе java.time.chrono.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/Гринвича определяется с помощью идентификатора часового пояса и момента времени, так как для каждого момента времени существует только одно допустимое смещение. Затем момент времени и смещение используются для расчёта локальной даты и времени.

Parameters:
instant - момент времени для создания даты и времени, не null
zone - часовой пояс, который может быть смещением, не null
Returns:
локальная дата и время, не null
Throws:
DateTimeException - если результат выходит за поддерживаемый диапазон

ofEpochSecond

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

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

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

from

public static LocalDateTime from(TemporalAccessor temporal)
Получает экземпляр LocalDateTime из временного объекта.

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

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

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

Parameters:
temporal - временной объект для преобразования, не null
Returns:
локальная дата и время, не null
Throws:
DateTimeException - если невозможно преобразовать в LocalDateTime

parse

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

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

Parameters:
text - текст для анализа, например, "2007-12-03T10:15:30", не null
Returns:
проанализированная локальная дата и время, не null
Throws:
DateTimeParseException - если текст не может быть проанализирован

parse

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

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

Parameters:
text - текст для анализа, не null
formatter - используемый форматер, не null
Returns:
проанализированная локальная дата и время, не null
Throws:
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 в качестве аргумента. Поддерживается ли поле определяется полем.

Specified by:
isSupported в интерфейсе ChronoLocalDateTime<LocalDate>
Specified by:
isSupported в интерфейсе TemporalAccessor
Parameters:
field - поле для проверки, null возвращает false
Returns:
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 в качестве аргумента. Поддерживается ли интервал определяется интервалом.

Specified by:
isSupported в интерфейсе ChronoLocalDateTime<LocalDate>
Specified by:
isSupported в интерфейсе Temporal
Parameters:
unit - интервал для проверки, null возвращает false
Returns:
true, если интервал можно добавить/вычесть, false — если нет

range

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

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

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

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

Specified by:
range в интерфейсе TemporalAccessor
Parameters:
field - поле для запроса диапазона, не null
Returns:
диапазон допустимых значений для поля, не null
Throws:
DateTimeException - если диапазон для поля получить не удаётся
UnsupportedTemporalTypeException - если поле не поддерживается

получить

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

с

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
Возвращает:
дата и время на основе this с произведённым корректированием, не null
Исключения:
DateTimeException - если корректировка не может быть выполнена
ArithmeticException - если происходит переполнение числовых данных

с

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

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

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

сГодом

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

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

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

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

сМесяцем

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

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

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

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

сДнёмМесяца

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

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

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

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

сДнёмГода

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

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

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

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

сЧасом

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

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

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

сМинутой

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

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

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

соСекундой

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

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

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

сНаносекундой

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)
Возвращает копию этой даты-времени с добавлением указанного количества.

Это возвращает копию, основанную на этой, с добавлением указанного количества. Количество обычно является 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)
Возвращает копию этого объекта DateTime с добавленным указанным значением.

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

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

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

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

Specified by:
plus в интерфейсе ChronoLocalDateTime<LocalDate>
Specified by:
plus в интерфейсе Temporal
Параметры:
amountToAdd - количество единиц измерения для добавления к результату, может быть отрицательным
unit - единицы измерения добавляемого значения, не null
Возвращает:
новый объект DateTime, основанный на этом объекте, с добавленным указанным значением, не null
Исключение:
DateTimeException - если добавление невозможно
UnsupportedTemporalTypeException - если единицы измерения не поддерживаются
ArithmeticException - если произошел численный переполнение

plusYears

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

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

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

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

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

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

plusMonths

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

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

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

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

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

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

plusWeeks

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

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

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

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

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

plusDays

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

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

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

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

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

plusHours

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

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

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

plusMinutes

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

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

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

plusSeconds

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

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

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

plusNanos

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

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

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

minus

public LocalDateTime minus(TemporalAmount amountToSubtract)
Возвращает копию этого объекта DateTime с вычетом указанного значения.

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

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

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

Specified by:
minus в интерфейсе ChronoLocalDateTime<LocalDate>
Specified by:
minus в интерфейсе Temporal
Параметры:
amountToSubtract - значение для вычитания, не null
Возвращает:
новый объект DateTime, основанный на этом объекте, с выполненным вычитанием, не null
Исключение:
DateTimeException - если вычитание невозможно
ArithmeticException - если произошел численный переполнение

minus

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

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

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

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

Specified by:
minus в интерфейсе ChronoLocalDateTime<LocalDate>
Specified by:
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 в качестве аргумента.

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

adjustInto

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

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

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

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

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

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

Specified by:
adjustInto в интерфейсе ChronoLocalDateTime<LocalDate>
Specified by:
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 в качестве первого аргумента и преобразованный входной временной объект — как второй аргумент.

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

Specified by:
until в интерфейсе Temporal
Parameters:
endExclusive - конечная дата, исключая ее, которая преобразуется в LocalDateTime, не null
unit - единица измерения временного интервала, не null
Returns:
длительность между этой датой и временем и конечной датой и временем
Throws:
DateTimeException - если временной интервал нельзя вычислить или конечный временной объект нельзя преобразовать в LocalDateTime
UnsupportedTemporalTypeException - если единица не поддерживается
ArithmeticException - если происходит переполнение

format

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

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

Specified by:
format в интерфейсе ChronoLocalDateTime<LocalDate>
Parameters:
formatter - используемый форматер, не null
Returns:
строка отформатированной даты и времени, не null
Throws:
DateTimeException - если произошла ошибка во время печати

atOffset

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

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

Parameters:
offset - смещение для объединения, не null
Returns:
дата и время со смещением, образованная из этой даты и времени и указанного смещения, не null

atZone

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

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

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

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

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

Specified by:
atZone в интерфейсе ChronoLocalDateTime<LocalDate>
Parameters:
zone - используемый часовой пояс, не null
Returns:
дата и время в часовом поясе, образованная из этой даты и времени, не null

compareTo

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

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

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

Specified by:
compareTo в интерфейсе ChronoLocalDateTime<LocalDate>
Specified by:
compareTo в интерфейсе Comparable<ChronoLocalDateTime<?>>
Parameters:
other - другая дата и время для сравнения, не null
Returns:
значение сравнения, представляющее сравнение этой локальной даты и времени с other локальной датой и временем и этой хронологии с other хронологией, в порядке, возвращая первое ненулевое значение, а в противном случае возвращая ноль
See Also:
  • isBefore(java.time.chrono.ChronoLocalDateTime<?>)
  • isAfter(java.time.chrono.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().

Specified by:
isAfter в интерфейсе ChronoLocalDateTime<LocalDate>
Parameters:
other - другая дата и время для сравнения, не null
Returns:
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().

Specified by:
isBefore в интерфейсе ChronoLocalDateTime<LocalDate>
Parameters:
other - другая дата и время для сравнения, не null
Returns:
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().

Specified by:
isEqual в интерфейсе ChronoLocalDateTime<LocalDate>
Parameters:
other - другая дата и время для сравнения, не null
Returns:
true, если эта дата и время равна указанной дате и времени

equals

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

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

Specified by:
equals в интерфейсе ChronoLocalDateTime<LocalDate>
Overrides:
equals в классе Object
Parameters:
obj - проверяемый объект, null возвращает false
Returns:
true, если эта дата-время равна другой
See Also:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Хэш-код для этой даты-времени.
Specified by:
hashCode в интерфейсе ChronoLocalDateTime<LocalDate>
Overrides:
hashCode в классе Object
Returns:
подходящий хэш-код
See Also:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.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
Используемый формат будет самым коротким, который выводит полное значение времени, где пропущенные части подразумеваются как ноль.
Specified by:
toString в интерфейсе ChronoLocalDateTime<LocalDate>
Overrides:
toString в классе Object
Returns:
строковое представление этой даты-времени, не null

© 1993, 2023, 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/21/docs/api/java.base/java/time/LocalDateTime.html

Spec-Zone.ru

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