Spec-Zone.ru › OpenJDK 25

Класс LocalTime

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

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

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

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

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

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

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

Модификатор и тип Поле Описание
static final LocalTime MAX
Максимальное поддерживаемое значение LocalTime: «23:59:59.999999999».
static final LocalTime MIDNIGHT
Время полуночи в начале дня: «00:00».
static final LocalTime MIN
Минимальное поддерживаемое значение LocalTime: «00:00».
static final LocalTime NOON
Время полудня, середины дня: «12:00».

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

Модификатор и тип Метод Описание
Temporal adjustInto(Temporal temporal)
Настраивает указанный объект даты и времени так, чтобы его время совпадало со временем этого объекта.
LocalDateTime atDate(LocalDate date)
Объединяет это время с датой для создания LocalDateTime.
OffsetTime atOffset(ZoneOffset offset)
Объединяет это время со смещением для создания OffsetTime.
int compareTo(LocalTime other)
Сравнивает это время с другим временем.
boolean equals(Object obj)
Проверяет, равно ли это время другому времени.
String format(DateTimeFormatter formatter)
Форматирует это время с помощью указанного средства форматирования.
static LocalTime from(TemporalAccessor temporal)
Получает экземпляр LocalTime из объекта даты и времени.
int get(TemporalField field)
Получает значение указанного поля этого времени в виде int.
int getHour()
Получает значение поля часа суток.
long getLong(TemporalField field)
Получает значение указанного поля этого времени в виде long.
int getMinute()
Получает значение поля минуты часа.
int getNano()
Получает значение поля наносекунды секунды.
int getSecond()
Получает значение поля секунды минуты.
int hashCode()
Хеш-код этого времени.
boolean isAfter(LocalTime other)
Проверяет, наступает ли это время после указанного.
boolean isBefore(LocalTime other)
Проверяет, наступает ли это время до указанного.
boolean isSupported(TemporalField field)
Проверяет, поддерживается ли указанное поле.
boolean isSupported(TemporalUnit unit)
Проверяет, поддерживается ли указанная единица измерения.
LocalTime minus(long amountToSubtract, TemporalUnit unit)
Возвращает копию этого времени, из которого вычтено указанное значение.
LocalTime minus(TemporalAmount amountToSubtract)
Возвращает копию этого времени, из которого вычтено указанное значение.
LocalTime minusHours(long hoursToSubtract)
Возвращает копию этого LocalTime, из которой вычтено указанное количество часов.
LocalTime minusMinutes(long minutesToSubtract)
Возвращает копию этого LocalTime, из которой вычтено указанное количество минут.
LocalTime minusNanos(long nanosToSubtract)
Возвращает копию этого LocalTime, из которой вычтено указанное количество наносекунд.
LocalTime minusSeconds(long secondsToSubtract)
Возвращает копию этого LocalTime, из которой вычтено указанное количество секунд.
static LocalTime now()
Получает текущее время по системным часам в часовом поясе по умолчанию.
static LocalTime now(Clock clock)
Получает текущее время по указанным часам.
static LocalTime now(ZoneId zone)
Получает текущее время по системным часам в указанном часовом поясе.
static LocalTime of(int hour, int minute)
Получает экземпляр LocalTime по часам и минутам.
static LocalTime of(int hour, int minute, int second)
Получает экземпляр LocalTime по часам, минутам и секундам.
static LocalTime of(int hour, int minute, int second, int nanoOfSecond)
Получает экземпляр LocalTime по часам, минутам, секундам и наносекундам.
static LocalTime ofInstant(Instant instant, ZoneId zone)
Получает экземпляр LocalTime из Instant и идентификатора часового пояса.
static LocalTime ofNanoOfDay(long nanoOfDay)
Получает экземпляр LocalTime по значению наносекунд с начала суток.
static LocalTime ofSecondOfDay(long secondOfDay)
Получает экземпляр LocalTime по значению секунд с начала суток.
static LocalTime parse(CharSequence text)
Получает экземпляр LocalTime из текстовой строки, например 10:15.
static LocalTime parse(CharSequence text, DateTimeFormatter formatter)
Получает экземпляр LocalTime из текстовой строки с помощью указанного средства форматирования.
LocalTime plus(long amountToAdd, TemporalUnit unit)
Возвращает копию этого времени с добавленным указанным значением.
LocalTime plus(TemporalAmount amountToAdd)
Возвращает копию этого времени с добавленным указанным значением.
LocalTime plusHours(long hoursToAdd)
Возвращает копию этого LocalTime с добавленным указанным количеством часов.
LocalTime plusMinutes(long minutesToAdd)
Возвращает копию этого LocalTime с добавленным указанным количеством минут.
LocalTime plusNanos(long nanosToAdd)
Возвращает копию этого LocalTime с добавленным указанным количеством наносекунд.
LocalTime plusSeconds(long secondstoAdd)
Возвращает копию этого LocalTime с добавленным указанным количеством секунд.
<R> R query(TemporalQuery<R> query)
Выполняет запрос к этому времени с помощью указанного запроса.
ValueRange range(TemporalField field)
Получает диапазон допустимых значений для указанного поля.
long toEpochSecond(LocalDate date, ZoneOffset offset)
Преобразует это LocalTime в количество секунд, прошедших с начала эпохи 1970-01-01T00:00:00Z.
long toNanoOfDay()
Извлекает время в виде количества наносекунд с начала суток — от 0 до 24 * 60 * 60 * 1,000,000,000 - 1.
int toSecondOfDay()
Извлекает время в виде количества секунд с начала суток — от 0 до 24 * 60 * 60 - 1.
String toString()
Выводит это время в виде String, например 10:15.
LocalTime truncatedTo(TemporalUnit unit)
Возвращает копию этого LocalTime с усечённым временем.
long until(Temporal endExclusive, TemporalUnit unit)
Вычисляет промежуток времени до другого времени в единицах указанной единицы измерения.
LocalTime with(TemporalAdjuster adjuster)
Возвращает скорректированную копию этого времени.
LocalTime with(TemporalField field, long newValue)
Возвращает копию этого времени, в которой указанному полю присвоено новое значение.
LocalTime withHour(int hour)
Возвращает копию этого LocalTime с изменённым значением часа суток.
LocalTime withMinute(int minute)
Возвращает копию этого LocalTime с изменённым значением минуты часа.
LocalTime withNano(int nanoOfSecond)
Возвращает копию этого LocalTime с изменённым значением наносекунды секунды.
LocalTime withSecond(int second)
Возвращает копию этого LocalTime с изменённым значением секунды минуты.

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

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

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

MIN

public static final LocalTime MIN
Минимальное поддерживаемое значение LocalTime — '00:00'. Это время полуночи в начале дня.

MAX

public static final LocalTime MAX
Максимальное поддерживаемое значение LocalTime — '23:59:59.999999999'. Это время непосредственно перед полуночью в конце дня.

MIDNIGHT

public static final LocalTime MIDNIGHT
Время полуночи в начале дня — '00:00'.

NOON

public static final LocalTime NOON
Время полудня в середине дня — '12:00'.

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

now

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

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

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

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

now

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

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

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

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

now

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

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

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

of

public static LocalTime of(int hour, int minute)
Создает экземпляр LocalTime на основе часа и минуты.

Возвращает LocalTime с указанными часом и минутой. Значения секунд и наносекунд устанавливаются в ноль.

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

of

public static LocalTime of(int hour, int minute, int second)
Создает экземпляр LocalTime на основе часа, минуты и секунды.

Возвращает LocalTime с указанными часом, минутой и секундой. Значение наносекунд устанавливается в ноль.

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

of

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

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

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

ofInstant

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

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

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

ofSecondOfDay

public static LocalTime ofSecondOfDay(long secondOfDay)
Создает экземпляр LocalTime на основе значения секунд от начала дня.

Возвращает LocalTime с указанным значением секунд от начала дня. Значение наносекунд устанавливается в ноль.

Параметры:
secondOfDay — количество секунд от начала дня, от 0 до 24 * 60 * 60 - 1
Возвращает:
местное время; значение не равно null
Исключения:
DateTimeException — если значение секунд от начала дня недопустимо

ofNanoOfDay

public static LocalTime ofNanoOfDay(long nanoOfDay)
Создает экземпляр LocalTime на основе значения наносекунд от начала дня.

Возвращает LocalTime с указанным значением наносекунд от начала дня.

Параметры:
nanoOfDay — количество наносекунд от начала дня, от 0 до 24 * 60 * 60 * 1,000,000,000 - 1
Возвращает:
местное время; значение не равно null
Исключения:
DateTimeException — если значение наносекунд от начала дня недопустимо

from

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

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

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

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

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

parse

public static LocalTime parse(CharSequence text)
Создает экземпляр LocalTime на основе текстовой строки, например 10:15.

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

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

parse

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

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

Параметры:
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
Для всех остальных экземпляров ChronoField возвращается false.

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

Определено в:
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
Для всех остальных экземпляров ChronoUnit возвращается false.

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

Определено в:
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, значения которых слишком велики для типа 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 — при переполнении числового значения

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 LocalTime with(TemporalAdjuster adjuster)
Возвращает копию этого времени с внесенными корректировками.

Возвращает LocalTime на основе текущего, скорректированное время которого задается указанным объектом-стратегией корректировки. Чтобы понять, какая корректировка будет выполнена, ознакомьтесь с документацией этого объекта.

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

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

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

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

with

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

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

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

  • NANO_OF_SECOND — возвращает LocalTime с указанным значением наносекунды секунды. Час, минута и секунда не изменяются.
  • NANO_OF_DAY — возвращает LocalTime с указанным значением наносекунд от начала дня. Это полностью заменяет время и эквивалентно вызову ofNanoOfDay(long).
  • MICRO_OF_SECOND — возвращает LocalTime, в котором значение наносекунды секунды заменено указанным значением микросекунд секунды, умноженным на 1 000. Час, минута и секунда не изменяются.
  • MICRO_OF_DAY — возвращает LocalTime с указанным значением микросекунд от начала дня. Это полностью заменяет время и эквивалентно вызову ofNanoOfDay(long) со значением микросекунд от начала дня, умноженным на 1 000.
  • MILLI_OF_SECOND — возвращает LocalTime, в котором значение наносекунды секунды заменено указанным значением миллисекунд секунды, умноженным на 1 000 000. Час, минута и секунда не изменяются.
  • MILLI_OF_DAY — возвращает LocalTime с указанным значением миллисекунд от начала дня. Это полностью заменяет время и эквивалентно вызову ofNanoOfDay(long) со значением миллисекунд от начала дня, умноженным на 1 000 000.
  • SECOND_OF_MINUTE — возвращает LocalTime с указанным значением секунды минуты. Час, минута и наносекунда секунды не изменяются.
  • SECOND_OF_DAY — возвращает LocalTime с указанным значением секунд от начала дня. Наносекунда секунды не изменяется.
  • MINUTE_OF_HOUR — возвращает LocalTime с указанным значением минуты часа. Час, секунда минуты и наносекунда секунды не изменяются.
  • MINUTE_OF_DAY — возвращает LocalTime с указанным значением минут от начала дня. Секунда минуты и наносекунда секунды не изменяются.
  • HOUR_OF_AMPM — возвращает LocalTime с указанным значением часа до или после полудня. Период AM/PM, минута часа, секунда минуты и наносекунда секунды не изменяются.
  • CLOCK_HOUR_OF_AMPM — возвращает LocalTime с указанным значением часа на 12-часовых часах. Период AM/PM, минута часа, секунда минуты и наносекунда секунды не изменяются.
  • HOUR_OF_DAY — возвращает LocalTime с указанным значением часа дня. Минута часа, секунда минуты и наносекунда секунды не изменяются.
  • CLOCK_HOUR_OF_DAY — возвращает LocalTime с указанным значением часа на 24-часовых часах. Минута часа, секунда минуты и наносекунда секунды не изменяются.
  • AMPM_OF_DAY — возвращает LocalTime с указанным периодом AM/PM. Час до или после полудня, минута часа, секунда минуты и наносекунда секунды не изменяются.

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

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

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

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

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

withHour

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

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

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

withMinute

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

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

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

withSecond

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

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

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

withNano

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

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

Параметры:
nanoOfSecond — задаваемая в результате наносекунда секунды, от 0 до 999,999,999
Возвращает:
экземпляр LocalTime на основе этого времени с указанным значением наносекунд; значение не равно null
Исключения:
DateTimeException — если значение наносекунд недопустимо

truncatedTo

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

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

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

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

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

plus

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

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

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

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

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

plus

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

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

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

  • NANOS - Возвращает LocalTime с указанным количеством добавленных наносекунд. Эквивалентно plusNanos(long).
  • MICROS - Возвращает LocalTime с указанным количеством добавленных микросекунд. Эквивалентно plusNanos(long), где величина умножена на 1 000.
  • MILLIS - Возвращает LocalTime с указанным количеством добавленных миллисекунд. Эквивалентно plusNanos(long), где величина умножена на 1 000 000.
  • SECONDS - Возвращает LocalTime с указанным количеством добавленных секунд. Эквивалентно plusSeconds(long).
  • MINUTES - Возвращает LocalTime с указанным количеством добавленных минут. Эквивалентно plusMinutes(long).
  • HOURS - Возвращает LocalTime с указанным количеством добавленных часов. Эквивалентно plusHours(long).
  • HALF_DAYS - Возвращает LocalTime с указанным количеством добавленных полудней. Эквивалентно plusHours(long), где величина умножена на 12.

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

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

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

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

plusHours

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

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

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

Параметры:
hoursToAdd - добавляемое количество часов; может быть отрицательным
Возвращает:
объект LocalTime на основе этого времени с добавленными часами, не null

plusMinutes

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

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

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

Параметры:
minutesToAdd - добавляемое количество минут; может быть отрицательным
Возвращает:
объект LocalTime на основе этого времени с добавленными минутами, не null

plusSeconds

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

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

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

Параметры:
secondstoAdd - добавляемое количество секунд; может быть отрицательным
Возвращает:
объект LocalTime на основе этого времени с добавленными секундами, не null

plusNanos

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

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

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

Параметры:
nanosToAdd - добавляемое количество наносекунд; может быть отрицательным
Возвращает:
объект LocalTime на основе этого времени с добавленными наносекундами, не null

minus

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

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

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

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

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

minus

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

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

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

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

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

minusHours

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

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

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

Параметры:
hoursToSubtract - вычитаемое количество часов; может быть отрицательным
Возвращает:
объект LocalTime на основе этого времени с вычтенными часами, не null

minusMinutes

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

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

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

Параметры:
minutesToSubtract - вычитаемое количество минут; может быть отрицательным
Возвращает:
объект LocalTime на основе этого времени с вычтенными минутами, не null

minusSeconds

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

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

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

Параметры:
secondsToSubtract - вычитаемое количество секунд; может быть отрицательным
Возвращает:
объект LocalTime на основе этого времени с вычтенными секундами, не null

minusNanos

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

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

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

Параметры:
nanosToSubtract - вычитаемое количество наносекунд; может быть отрицательным
Возвращает:
объект LocalTime на основе этого времени с вычтенными наносекундами, не null

query

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

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

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

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

adjustInto

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

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

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

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

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

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

Определено в:
adjustInto в интерфейсе TemporalAdjuster
Параметры:
temporal - целевой объект для изменения, не null
Возвращает:
измененный объект, не null
Выбрасывает:
DateTimeException - если выполнить изменение невозможно
ArithmeticException - при числовом переполнении

until

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

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

Вычисление возвращает целое число, представляющее количество полных единиц между двумя значениями времени. Например, промежуток в часах между 11:30 и 13:29 составит всего один час, поскольку до двух часов не хватает одной минуты.

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

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

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

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

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

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

format

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

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

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

atDate

public LocalDateTime atDate(LocalDate date)
Объединяет это время с датой, создавая LocalDateTime.

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

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

atOffset

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

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

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

toSecondOfDay

public int toSecondOfDay()
Извлекает время в виде количества секунд, прошедших с начала дня, от 0 до 24 * 60 * 60 - 1.
Возвращает:
эквивалент этого времени в секундах от начала дня

toNanoOfDay

public long toNanoOfDay()
Извлекает время в виде количества наносекунд, прошедших с начала дня, от 0 до 24 * 60 * 60 * 1,000,000,000 - 1.
Возвращает:
эквивалент этого времени в наносекундах от начала дня

toEpochSecond

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

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

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

compareTo

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

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

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

isAfter

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

Сравнение основано на положении времени на временной шкале внутри дня.

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

isBefore

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

Сравнение основано на положении времени на временной шкале внутри дня.

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

equals

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

Сравнение основано на положении времени на временной шкале внутри дня.

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

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

hashCode

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

toString

public String toString()
Представляет это время в виде String, например 10:15.

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

  • HH:mm
  • HH:mm:ss
  • HH:mm:ss.SSS
  • HH:mm:ss.SSSSSS
  • HH:mm:ss.SSSSSSSSS
Будет использоваться самый короткий формат, в котором выводится полное значение времени, а пропущенные части подразумеваются равными нулю.
Переопределяет:
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/LocalTime.html

Spec-Zone.ru

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