Spec-Zone.ru › OpenJDK 27

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

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

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

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

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

  • NANO_OF_SECOND
  • NANO_OF_DAY
  • MICRO_OF_SECOND
  • MICRO_OF_DAY
  • MILLI_OF_SECOND
  • MILLI_OF_DAY
  • SECOND_OF_MINUTE
  • SECOND_OF_DAY
  • MINUTE_OF_HOUR
  • MINUTE_OF_DAY
  • HOUR_OF_AMPM
  • CLOCK_HOUR_OF_AMPM
  • HOUR_OF_DAY
  • CLOCK_HOUR_OF_DAY
  • AMPM_OF_DAY
Для всех остальных экземпляров ChronoField возвращается false.

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

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

isSupported

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

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

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

  • NANOS
  • MICROS
  • MILLIS
  • SECONDS
  • MINUTES
  • HOURS
  • HALF_DAYS
Для всех остальных экземпляров 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 с указанным значением часа на циферблате до/после полудня. Значение AM/PM, минута часа, секунда минуты и наносекунда секунды не изменяются.
  • HOUR_OF_DAY — возвращает LocalTime с указанным значением часа суток. Минута часа, секунда минуты и наносекунда секунды не изменяются.
  • CLOCK_HOUR_OF_DAY — возвращает LocalTime с указанным значением часа на циферблате в пределах суток. Минута часа, секунда минуты и наносекунда секунды не изменяются.
  • 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, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

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