Класс 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 предполагает, что все системы календарей используют одно и то же представление, этот класс, для времени суток.
Это класс value-based; программисты должны рассматривать экземпляры, которые равны, как взаимозаменяемые и не должны использовать экземпляры для синхронизации, в противном случае может произойти непредсказуемое поведение. Например, в будущей версии синхронизация может завершиться неудачей. Для сравнений следует использовать метод equals.
- Требования к реализации:
- Этот класс неизменяемый и потокобезопасный.
- С:
- 1.8
- См. также:
Краткое описание полей
| Modifier and Type | Field | Описание |
|---|---|---|
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'. |
Краткое описание методов
| Modifier and Type | Method | Описание |
|---|---|---|
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
MAX
public static final LocalTime MAX
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)
Проверяет, можно ли запросить значение указанного поля для этого времени. Если 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 в качестве аргумента. Поддерживается ли поле, определяется полем.
- Specified by:
-
isSupportedв интерфейсеTemporalAccessor - Parameters:
-
field- поле для проверки, null возвращает false - Returns:
- 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 в качестве аргумента. Поддерживается ли единица измерения, определяется единицей измерения.
- Specified by:
-
isSupportedв интерфейсеTemporal - Parameters:
-
unit- единица измерения для проверки, null возвращает false - Returns:
- true, если единица измерения может быть добавлена/вычтена, false - иначе
range
public ValueRange range(TemporalField field)
Объект диапазона выражает минимальное и максимальное допустимые значения для поля. Это время используется для повышения точности возвращаемого диапазона. Если невозможно вернуть диапазон, потому что поле не поддерживается или по какой-либо другой причине, выбрасывается исключение.
Если поле является ChronoField, то запрос выполняется здесь. supported fields вернет соответствующие экземпляры диапазона. Все остальные ChronoField экземпляры выбросят исключение UnsupportedTemporalTypeException.
Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.rangeRefinedBy(TemporalAccessor), передавая this в качестве аргумента. Возможно ли получить диапазон, определяется полем.
- Specified by:
-
rangeв интерфейсеTemporalAccessor - Parameters:
-
field- поле, для которого нужно запросить диапазон, не null - Returns:
- диапазон допустимых значений для поля, не null
- Throws:
-
DateTimeException- если диапазон для поля получить невозможно -
UnsupportedTemporalTypeException- если поле не поддерживается
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 в качестве аргумента. Возможно ли получить значение и что оно представляет, определяется полем.
- Specified by:
-
getв интерфейсеTemporalAccessor - Parameters:
-
field- поле для получения, не null - Returns:
- значение для поля
- Throws:
-
DateTimeException- если значение для поля получить невозможно или значение находится за пределами диапазона допустимых значений для поля -
UnsupportedTemporalTypeException- если поле не поддерживается или диапазон значений превышаетint -
ArithmeticException- если происходит переполнение числовых значений
getLong
public long getLong(TemporalField field)
long. Запрашивает у этого времени значение указанного поля. Если невозможно вернуть значение, потому что поле не поддерживается или по какой-либо другой причине, выбрасывается исключение.
Если поле является ChronoField, то запрос выполняется здесь. supported fields вернет допустимые значения, основанные на этом времени. Все остальные ChronoField экземпляры выбросят исключение UnsupportedTemporalTypeException.
Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.getFrom(TemporalAccessor), передавая this в качестве аргумента. Возможно ли получить значение и что оно представляет, определяется полем.
- Specified by:
-
getLongв интерфейсеTemporalAccessor - Parameters:
-
field- поле для получения, не null - Returns:
- значение для поля
- Throws:
-
DateTimeException- если значение для поля получить невозможно -
UnsupportedTemporalTypeException- если поле не поддерживается -
ArithmeticException- если происходит переполнение числовых значений
getHour
public int getHour()
- Returns:
- час, от 0 до 23
getMinute
public int getMinute()
- Returns:
- минута, от 0 до 59
getSecond
public int getSecond()
- Returns:
- секунда, от 0 до 59
getNano
public int getNano()
- Returns:
- наносекунда, от 0 до 999 999 999
with
public LocalTime with(TemporalAdjuster adjuster)
Возвращает скопированное время, основанное на текущем, с произведенной корректировкой. Корректировка выполняется с помощью заданного объекта стратегии корректировки. Обратитесь к документации корректировщика, чтобы понять, какая корректировка будет произведена.
Простой корректировщик может просто установить одно из полей, например, поле час. Более сложный корректировщик может установить время на последний час дня.
Результат этого метода получается путем вызова метода TemporalAdjuster.adjustInto(Temporal) заданного корректировщика, передавая this в качестве аргумента.
Этот экземпляр неизменяемый и не меняется этим вызовом метода.
- Specified by:
-
withв интерфейсеTemporal - Parameters:
-
adjuster- корректировщик для использования, не null - Returns:
- скопированное время, основанное на текущем, с произведенной корректировкой, не null
- Throws:
-
DateTimeException- если корректировка не может быть произведена -
ArithmeticException- если происходит переполнение числовых значений
с
public LocalTime with(TemporalField field, long newValue)
Это возвращает копию, основанную на текущем, со значением для указанного поля, изменённым. Это можно использовать для изменения любого поддерживаемого поля, например, часа, минуты или секунды. Если невозможно установить значение, потому что поле не поддерживается или по какой-либо другой причине, выбрасывается исключение.
Если поле является объектом ChronoField, то корректировка реализуется здесь. Поддерживаемые поля ведут себя следующим образом:
-
NANO_OF_SECOND- Возвращает копию с указанным наносекундой. Час, минута и секунда останутся неизменными. -
NANO_OF_DAY- Возвращает копию с указанным наносекундами дня. Это полностью заменяет время и эквивалентноofNanoOfDay(long). -
MICRO_OF_SECOND- Возвращает копию с наносекундами, заменёнными на указанными микросекунды, умноженными на 1000. Час, минута и секунда останутся неизменными. -
MICRO_OF_DAY- Возвращает копию с указанными микросекундами дня. Это полностью заменяет время и эквивалентно использованиюofNanoOfDay(long)с микросекундами дня, умноженными на 1000. -
MILLI_OF_SECOND- Возвращает копию с наносекундами, заменёнными на указанными миллисекундами, умноженными на 1 000 000. Час, минута и секунда останутся неизменными. -
MILLI_OF_DAY- Возвращает копию с указанными миллисекундами дня. Это полностью заменяет время и эквивалентно использованиюofNanoOfDay(long)с миллисекундами дня, умноженными на 1 000 000. -
SECOND_OF_MINUTE- Возвращает копию с указанной секундой минуты. Час, минута и наносекунда останутся неизменными. -
SECOND_OF_DAY- Возвращает копию с указанной секундой дня. Наносекунда останется неизменной. -
MINUTE_OF_HOUR- Возвращает копию с указанной минутой часа. Час, секунда минуты и наносекунда останутся неизменными. -
MINUTE_OF_DAY- Возвращает копию с указанной минутой дня. Секунда минуты и наносекунда останутся неизменными. -
HOUR_OF_AMPM- Возвращает копию с указанным часом (AM/PM). AM/PM, минута часа, секунда минуты и наносекунда останутся неизменными. -
CLOCK_HOUR_OF_AMPM- Возвращает копию с указанным часом (24-часовой формат). AM/PM, минута часа, секунда минуты и наносекунда останутся неизменными. -
HOUR_OF_DAY- Возвращает копию с указанным часом дня. Минута часа, секунда минуты и наносекунда останутся неизменными. -
CLOCK_HOUR_OF_DAY- Возвращает копию с указанным часом дня (24-часовой формат). Минута часа, секунда минуты и наносекунда останутся неизменными. -
AMPM_OF_DAY- Возвращает копию с указанным значением AM/PM. Час (AM/PM), минута часа, секунда минуты и наносекунда останутся неизменными.
Во всех случаях, если новое значение выходит за пределы допустимого диапазона значений для поля, будет брошено исключение.
Все другие ChronoField объекты выбросят исключение UnsupportedTemporalTypeException.
Если поле не является ChronoField, результат этого метода получается путём вызова TemporalField.adjustInto(Temporal, long), передав this в качестве аргумента. В этом случае поле определяет, как и следует ли корректировать момент.
Этот экземпляр неизменяем и не изменяется в результате вызова этого метода.
- Specified by:
-
withв интерфейсеTemporal - Parameters:
-
field- поле для установки в результате, не null -
newValue- новое значение поля в результате - Returns:
- копия
LocalTime, основанная наthis, с указанным полем, установленным, не null - Throws:
-
DateTimeException- если поле не может быть установлено -
UnsupportedTemporalTypeException- если поле не поддерживается -
ArithmeticException- если происходит переполнение числового типа
сЧасом
public LocalTime withHour(int hour)
LocalTime с изменённым часом дня.
Этот экземпляр неизменяем и не изменяется в результате вызова этого метода.
- Parameters:
-
hour- час дня для установки в результате, от 0 до 23 - Returns:
- копия
LocalTime, основанная на текущем времени с запрошенным часом, не null - Throws:
-
DateTimeException- если значение часа некорректно
сМинутой
public LocalTime withMinute(int minute)
LocalTime с изменённой минутой часа.
Этот экземпляр неизменяем и не изменяется в результате вызова этого метода.
- Parameters:
-
minute- минута часа для установки в результате, от 0 до 59 - Returns:
- копия
LocalTime, основанная на текущем времени с запрошенной минутой, не null - Throws:
-
DateTimeException- если значение минуты некорректно
сСекундой
public LocalTime withSecond(int second)
LocalTime с изменённой секундой минуты.
Этот экземпляр неизменяем и не изменяется в результате вызова этого метода.
- Parameters:
-
second- секунда минуты для установки в результате, от 0 до 59 - Returns:
- копия
LocalTime, основанная на текущем времени с запрошенной секундой, не null - Throws:
-
DateTimeException- если значение секунды некорректно
сНаносекундами
public LocalTime withNano(int nanoOfSecond)
LocalTime с изменённой наносекундой.
Этот экземпляр неизменяем и не изменяется в результате вызова этого метода.
- Parameters:
-
nanoOfSecond- наносекунда для установки в результате, от 0 до 999 999 999 - Returns:
- копия
LocalTime, основанная на текущем времени с запрошенной наносекундой, не null - Throws:
-
DateTimeException- если значение наносекунд некорректно
обрезкаДо
public LocalTime truncatedTo(TemporalUnit unit)
LocalTime с обрезкой времени.
Обрезка возвращает копию исходного времени с полями, меньшими, чем указанный единица, установленные в ноль. Например, обрезка с единицей minutes установит секунды минуты и наносекунды в ноль.
Единица измерения должна иметь длительность, которая делится на длину стандартного дня без остатка. Это включает все предоставленные единицы времени в ChronoUnit и DAYS. Другие единицы выбросят исключение.
Этот экземпляр неизменяем и не изменяется в результате вызова этого метода.
- Parameters:
-
unit- единица для обрезки, не null - Returns:
- копия
LocalTime, основанная на текущем времени с обрезкой времени, не null - Throws:
-
DateTimeException- если обрезка невозможна -
UnsupportedTemporalTypeException- если единица не поддерживается
плюс
public LocalTime plus(TemporalAmount amountToAdd)
Это возвращает копию, основанную на текущей, с добавленным указанным значением. Значение обычно Duration, но может быть любого другого типа, реализующего интерфейс TemporalAmount.
Вычисление делегируется объекту значения путём вызова TemporalAmount.addTo(Temporal). Реализация значения свободна в реализации добавления любым способом, однако она обычно вызывает plus(long, TemporalUnit). Обратитесь к документации реализации значения, чтобы определить, можно ли её успешно добавить.
Этот экземпляр неизменяем и не изменяется в результате вызова этого метода.
- Specified by:
-
plusв интерфейсеTemporal - Parameters:
-
amountToAdd- значение для добавления, не null - Returns:
- копия
LocalTime, основанная на текущем времени с добавленным значением, не null - Throws:
-
DateTimeException- если добавление невозможно -
ArithmeticException- если происходит переполнение числового типа
plus
public LocalTime plus(long amountToAdd, TemporalUnit unit)
Это возвращает LocalTime, основанную на этой, с величиной в терминах добавленного единицы. Если добавить величину невозможно, потому что единица не поддерживается или по какой-либо другой причине, выбрасывается исключение.
Если поле является ChronoUnit, то добавление реализуется здесь. Поддерживаемые поля ведут себя следующим образом:
-
NANOS- ВозвращаетLocalTimeс добавленным указанным количеством наносекунд. Это эквивалентноplusNanos(long). -
MICROS- ВозвращаетLocalTimeс добавленным указанным количеством микросекунд. Это эквивалентноplusNanos(long)с величиной, умноженной на 1000. -
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 в качестве аргумента. В этом случае единица определяет, нужно ли и как выполнить добавление.
Этот экземпляр неизменяемый и не изменяется этим вызовом метода.
- Specified by:
-
plusв интерфейсеTemporal - Parameters:
-
amountToAdd- величина единицы для добавления к результату, может быть отрицательной -
unit- единица величины для добавления, не null - Returns:
LocalTime, основанная на этом времени с добавленной указанной величиной, не null- Throws:
-
DateTimeException- если добавление невозможно -
UnsupportedTemporalTypeException- если единица не поддерживается -
ArithmeticException- если происходит переполнение чисел
plusHours
public LocalTime plusHours(long hoursToAdd)
LocalTime с добавленным указанным количеством часов. Это добавляет указанное количество часов к этому времени, возвращая новое время. Вычисление циклически повторяется с полуночи.
Этот экземпляр неизменяемый и не изменяется этим вызовом метода.
- Parameters:
-
hoursToAdd- часы для добавления, могут быть отрицательными - Returns:
LocalTime, основанная на этом времени с добавленными часами, не null
plusMinutes
public LocalTime plusMinutes(long minutesToAdd)
LocalTime с добавленным указанным количеством минут. Это добавляет указанное количество минут к этому времени, возвращая новое время. Вычисление циклически повторяется с полуночи.
Этот экземпляр неизменяемый и не изменяется этим вызовом метода.
- Parameters:
-
minutesToAdd- минуты для добавления, могут быть отрицательными - Returns:
LocalTime, основанная на этом времени с добавленными минутами, не null
plusSeconds
public LocalTime plusSeconds(long secondstoAdd)
LocalTime с добавленным указанным количеством секунд. Это добавляет указанное количество секунд к этому времени, возвращая новое время. Вычисление циклически повторяется с полуночи.
Этот экземпляр неизменяемый и не изменяется этим вызовом метода.
- Parameters:
-
secondstoAdd- секунды для добавления, могут быть отрицательными - Returns:
LocalTime, основанная на этом времени с добавленными секундами, не null
plusNanos
public LocalTime plusNanos(long nanosToAdd)
LocalTime с добавленным указанным количеством наносекунд. Это добавляет указанное количество наносекунд к этому времени, возвращая новое время. Вычисление циклически повторяется с полуночи.
Этот экземпляр неизменяемый и не изменяется этим вызовом метода.
- Parameters:
-
nanosToAdd- наносекунды для добавления, могут быть отрицательными - Returns:
LocalTime, основанная на этом времени с добавленными наносекундами, не null
minus
public LocalTime minus(TemporalAmount amountToSubtract)
Это возвращает LocalTime, основанную на этой, с вычтенной указанной величиной. Величина обычно является Duration, но может быть любого другого типа, реализующего интерфейс TemporalAmount.
Вычисление делегируется объекту величины путем вызова TemporalAmount.subtractFrom(Temporal). Реализация величины свободна реализовывать вычитание любым способом, однако обычно она обращается к minus(long, TemporalUnit). Обратитесь к документации реализации величины, чтобы определить, можно ли успешно выполнить вычитание.
Этот экземпляр неизменяемый и не изменяется этим вызовом метода.
- Specified by:
-
minusв интерфейсеTemporal - Parameters:
-
amountToSubtract- величина для вычитания, не null - Returns:
LocalTime, основанная на этом времени с произведённым вычитанием, не null- Throws:
-
DateTimeException- если вычитание невозможно -
ArithmeticException- если происходит переполнение чисел
minus
public LocalTime minus(long amountToSubtract, TemporalUnit unit)
Это возвращает LocalTime, основанную на этой, с величиной в терминах единицы, вычтенной. Если вычесть величину невозможно, потому что единица не поддерживается или по какой-либо другой причине, выбрасывается исключение.
Этот метод эквивалентен plus(long, TemporalUnit) с отрицательной величиной. Смотрите этот метод для полного описания того, как работает добавление, и, следовательно, вычитание.
Этот экземпляр неизменяемый и не изменяется этим вызовом метода.
- Specified by:
-
minusв интерфейсеTemporal - Parameters:
-
amountToSubtract- величина единицы для вычитания из результата, может быть отрицательной -
unit- единица величины для вычитания, не null - Returns:
LocalTime, основанная на этом времени с вычтенной указанной величиной, не null- Throws:
-
DateTimeException- если вычитание невозможно -
UnsupportedTemporalTypeException- если единица не поддерживается -
ArithmeticException- если происходит переполнение чисел
minusHours
public LocalTime minusHours(long hoursToSubtract)
LocalTime с вычтенным указанным количеством часов. Это вычитает указанное количество часов из этого времени, возвращая новое время. Вычисление циклически повторяется с полуночи.
Этот экземпляр неизменяемый и не изменяется этим вызовом метода.
- Parameters:
-
hoursToSubtract- часы для вычитания, могут быть отрицательными - Returns:
LocalTime, основанная на этом времени с вычтенными часами, не null
minusMinutes
public LocalTime minusMinutes(long minutesToSubtract)
LocalTime с вычтенным указанным количеством минут. Это вычитает указанное количество минут из этого времени, возвращая новое время. Вычисление циклически повторяется с полуночи.
Этот экземпляр неизменяемый и не изменяется этим вызовом метода.
- Parameters:
-
minutesToSubtract- минуты для вычитания, могут быть отрицательными - Returns:
LocalTime, основанная на этом времени с вычтенными минутами, не null
minusSeconds
public LocalTime minusSeconds(long secondsToSubtract)
LocalTime с вычтенным указанным количеством секунд. Это вычитает указанное количество секунд из этого времени, возвращая новое время. Вычисление циклически повторяется с полуночи.
Этот экземпляр неизменяемый и не изменяется этим вызовом метода.
- Parameters:
-
secondsToSubtract- секунды для вычитания, могут быть отрицательными - Returns:
LocalTime, основанная на этом времени с вычтенными секундами, не null
minusNanos
public LocalTime minusNanos(long nanosToSubtract)
LocalTime, из которого вычтено указанное количество наносекунд. Из этого времени вычитается указанное количество наносекунд, и возвращается новое время. Вычисление переходит через полночь.
Этот экземпляр неизменяем и не затрагивается этим вызовом метода.
- Parameters:
-
nanosToSubtract- количество наносекунд для вычитания, может быть отрицательным - Returns:
LocalTime, основанный на этом времени с вычтенными наносекундами, не null
query
public <R> R query(TemporalQuery<R> query)
Это запрашивает это время с использованием указанного объекта стратегии запроса. Объект TemporalQuery определяет логику, используемую для получения результата. Прочитайте документацию запроса, чтобы понять, каким будет результат этого метода.
Результат этого метода получается путем вызова метода TemporalQuery.queryFrom(TemporalAccessor) на указанном запросе, передавая this в качестве аргумента.
- Specified by:
-
queryв интерфейсеTemporalAccessor - Type Parameters:
R- тип результата- Parameters:
-
query- запрос для вызова, не null - Returns:
- результат запроса, может быть null (определяется запросом)
- Throws:
-
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);
Этот экземпляр неизменяем и не затрагивается этим вызовом метода.
- Specified by:
-
adjustIntoв интерфейсеTemporalAdjuster - Parameters:
-
temporal- целевой объект для настройки, не null - Returns:
- отрегулированный объект, не null
- Throws:
-
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 в качестве первого аргумента и преобразованный входной временной объект в качестве второго аргумента.
Этот экземпляр неизменяем и не затрагивается этим вызовом метода.
- Specified by:
-
untilв интерфейсеTemporal - Parameters:
-
endExclusive- конечное время, исключая, которое преобразуется вLocalTime, не null -
unit- единица измерения для измерения количества, не null - Returns:
- количество времени между этим временем и конечным временем
- Throws:
-
DateTimeException- если количество не может быть вычислено или конечный временной объект не может быть преобразован вLocalTime -
UnsupportedTemporalTypeException- если единица измерения не поддерживается -
ArithmeticException- если происходит переполнение числовых значений
format
public String format(DateTimeFormatter formatter)
Это время будет передано форматеру для получения строки.
- Parameters:
-
formatter- используемый форматер, не null - Returns:
- строка отформатированного времени, не null
- Throws:
-
DateTimeException- если во время печати произошла ошибка
atDate
public LocalDateTime atDate(LocalDate date)
LocalDateTime. Это возвращает LocalDateTime, образованный из этого времени в указанную дату. Все возможные комбинации даты и времени допустимы.
- Parameters:
-
date- дата для объединения, не null - Returns:
- локальное время-дата, сформированное из этого времени и указанной даты, не null
atOffset
public OffsetTime atOffset(ZoneOffset offset)
OffsetTime. Это возвращает OffsetTime, сформированный из этого времени в указанном смещении. Все возможные комбинации времени и смещения допустимы.
- Parameters:
-
offset- смещение для объединения, не null - Returns:
- время со смещением, сформированное из этого времени и указанного смещения, не null
toSecondOfDay
public int toSecondOfDay()
0 до 24 * 60 * 60 - 1.- Returns:
- секунды дня, эквивалентные этому времени
toNanoOfDay
public long toNanoOfDay()
0 до 24 * 60 * 60 * 1,000,000,000 - 1.- Returns:
- наносекунды дня, эквивалентные этому времени
toEpochSecond
public long toEpochSecond(LocalDate date, ZoneOffset offset)
LocalTime в количество секунд с эпохи 1970-01-01T00:00:00Z. Это объединяет это местное время с указанной датой и смещением для вычисления значения эпохи-секунды, которое является количеством прошедших секунд с 1970-01-01T00:00:00Z. Моменты времени после эпохи положительны, более ранние - отрицательны.
- Parameters:
-
date- локальная дата, не null -
offset- смещение зоны, не null - Returns:
- количество секунд с эпохи 1970-01-01T00:00:00Z, может быть отрицательным
- Since:
- 9
compareTo
public int compareTo(LocalTime other)
Сравнение основано на позиции времени на временной оси в течение одного дня. Оно «совместимо с equals», как определено в Comparable.
- Specified by:
-
compareToв интерфейсеComparable<LocalTime> - Parameters:
-
other- другое время для сравнения, не null - Returns:
- значение сравнения, меньше нуля, если это время предшествует
other, ноль, если они равны, или больше нуля, если это время следует заother - See Also:
isAfter
public boolean isAfter(LocalTime other)
Сравнение основано на позиции времени на временной оси в течение одного дня.
- Parameters:
-
other- другое время для сравнения, не null - Returns:
- true, если это время следует за указанным временем
isBefore
public boolean isBefore(LocalTime other)
Сравнение основано на временной позиции времени в течение дня.
- Parameters:
-
other- другое время для сравнения, не null - Returns:
- 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/time/LocalTime.html