Класс LocalTime
- Все реализованные интерфейсы:
Serializable, Comparable<LocalTime>, Temporal, TemporalAccessor, TemporalAdjuster
public final class LocalTime extends Object implements Temporal, TemporalAdjuster, Comparable<LocalTime>, Serializable
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 |
Настраивает указанный объект даты и времени так, чтобы его время совпадало со временем этого объекта. |
LocalDateTime |
atDate |
Объединяет это время с датой для создания LocalDateTime. |
OffsetTime |
atOffset |
Объединяет это время со смещением для создания OffsetTime. |
int |
compareTo |
Сравнивает это время с другим временем. |
boolean |
equals |
Проверяет, равно ли это время другому времени. |
String |
format |
Форматирует это время с помощью указанного средства форматирования. |
static LocalTime |
from |
Получает экземпляр LocalTime из объекта даты и времени. |
int |
get |
Получает значение указанного поля этого времени в виде int. |
int |
getHour() |
Получает значение поля часа суток. |
long |
getLong |
Получает значение указанного поля этого времени в виде long. |
int |
getMinute() |
Получает значение поля минуты часа. |
int |
getNano() |
Получает значение поля наносекунды секунды. |
int |
getSecond() |
Получает значение поля секунды минуты. |
int |
hashCode() |
Хеш-код этого времени. |
boolean |
isAfter |
Проверяет, наступает ли это время после указанного. |
boolean |
isBefore |
Проверяет, наступает ли это время до указанного. |
boolean |
isSupported |
Проверяет, поддерживается ли указанное поле. |
boolean |
isSupported |
Проверяет, поддерживается ли указанная единица измерения. |
LocalTime |
minus |
Возвращает копию этого времени, из которого вычтено указанное значение. |
LocalTime |
minus |
Возвращает копию этого времени, из которого вычтено указанное значение. |
LocalTime |
minusHours |
Возвращает копию этого LocalTime, из которой вычтено указанное количество часов. |
LocalTime |
minusMinutes |
Возвращает копию этого LocalTime, из которой вычтено указанное количество минут. |
LocalTime |
minusNanos |
Возвращает копию этого LocalTime, из которой вычтено указанное количество наносекунд. |
LocalTime |
minusSeconds |
Возвращает копию этого LocalTime, из которой вычтено указанное количество секунд. |
static LocalTime |
now() |
Получает текущее время по системным часам в часовом поясе по умолчанию. |
static LocalTime |
now |
Получает текущее время по указанным часам. |
static LocalTime |
now |
Получает текущее время по системным часам в указанном часовом поясе. |
static LocalTime |
of |
Получает экземпляр LocalTime по часам и минутам. |
static LocalTime |
of |
Получает экземпляр LocalTime по часам, минутам и секундам. |
static LocalTime |
of |
Получает экземпляр LocalTime по часам, минутам, секундам и наносекундам. |
static LocalTime |
ofInstant |
Получает экземпляр LocalTime из Instant и идентификатора часового пояса. |
static LocalTime |
ofNanoOfDay |
Получает экземпляр LocalTime по значению наносекунд с начала суток. |
static LocalTime |
ofSecondOfDay |
Получает экземпляр LocalTime по значению секунд с начала суток. |
static LocalTime |
parse |
Получает экземпляр LocalTime из текстовой строки, например 10:15. |
static LocalTime |
parse |
Получает экземпляр LocalTime из текстовой строки с помощью указанного средства форматирования. |
LocalTime |
plus |
Возвращает копию этого времени с добавленным указанным значением. |
LocalTime |
plus |
Возвращает копию этого времени с добавленным указанным значением. |
LocalTime |
plusHours |
Возвращает копию этого LocalTime с добавленным указанным количеством часов. |
LocalTime |
plusMinutes |
Возвращает копию этого LocalTime с добавленным указанным количеством минут. |
LocalTime |
plusNanos |
Возвращает копию этого LocalTime с добавленным указанным количеством наносекунд. |
LocalTime |
plusSeconds |
Возвращает копию этого LocalTime с добавленным указанным количеством секунд. |
<R> R |
query |
Выполняет запрос к этому времени с помощью указанного запроса. |
ValueRange |
range |
Получает диапазон допустимых значений для указанного поля. |
long |
toEpochSecond |
Преобразует это 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 |
Возвращает копию этого LocalTime с усечённым временем. |
long |
until |
Вычисляет промежуток времени до другого времени в единицах указанной единицы измерения. |
LocalTime |
with |
Возвращает скорректированную копию этого времени. |
LocalTime |
with |
Возвращает копию этого времени, в которой указанному полю присвоено новое значение. |
LocalTime |
withHour |
Возвращает копию этого LocalTime с изменённым значением часа суток. |
LocalTime |
withMinute |
Возвращает копию этого LocalTime с изменённым значением минуты часа. |
LocalTime |
withNano |
Возвращает копию этого LocalTime с изменённым значением наносекунды секунды. |
LocalTime |
withSecond |
Возвращает копию этого LocalTime с изменённым значением секунды минуты. |
Подробное описание полей
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
NOON
public static final LocalTime NOON
Подробное описание методов
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 - См. также:
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 в качестве компаратора.
hashCode
toString
public String toString()
String, например 10:15. Выводимый результат будет иметь один из следующих форматов ISO-8601:
HH:mmHH:mm:ssHH:mm:ss.SSSHH:mm:ss.SSSSSSHH:mm:ss.SSSSSSSSS
© 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