Класс OffsetTime
- Все реализуемые интерфейсы:
-
Serializable,Comparable<OffsetTime>,Temporal,TemporalAccessor,TemporalAdjuster
public final class OffsetTime extends Object implements Temporal, TemporalAdjuster, Comparable<OffsetTime>, Serializable
10:15:30+01:00. OffsetTime — это неизменяемый объект даты и времени, представляющий время, часто рассматриваемое как час-минута-секунда-смещение. Этот класс хранит все поля времени с точностью до наносекунд, а также смещение часового пояса. Например, значение "13:45:30.123456789+02:00" может быть сохранено в OffsetTime.
Это класс с базовыми значениями; программисты должны рассматривать экземпляры, которые равны, как взаимозаменяемые и не должны использовать их для синхронизации, иначе могут возникнуть непредсказуемые последствия. Например, в будущей версии синхронизация может завершиться неудачно. Для сравнения следует использовать метод equals.
- Требования к реализации:
- Этот класс неизменяемый и потокобезопасный.
- С:
- 1.8
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final OffsetTime |
MAX |
Максимальное поддерживаемое OffsetTime, '23:59:59.999999999-18:00'. |
static final OffsetTime |
MIN |
Минимальное поддерживаемое OffsetTime, '00:00:00+18:00'. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Temporal |
adjustInto |
Настраивает указанный временной объект таким образом, чтобы он имел тот же сдвиг и время, что и этот объект. |
OffsetDateTime |
atDate |
Объединяет это время с датой для создания OffsetDateTime. |
int |
compareTo |
Сравнивает это OffsetTime с другим временем. |
boolean |
equals |
Проверяет, равно ли это время другому времени. |
String |
format |
Форматирует это время с использованием указанного форматировщика. |
static OffsetTime |
from |
Получает экземпляр OffsetTime из временного объекта. |
int |
get |
Получает значение указанного поля из этого времени в виде int. |
int |
getHour() |
Получает поле часа дня. |
long |
getLong |
Получает значение указанного поля из этого времени в виде long. |
int |
getMinute() |
Получает поле минуты часа. |
int |
getNano() |
Получает поле наносекунд секунды. |
ZoneOffset |
getOffset() |
Получает сдвиг часового пояса, например '+01:00'. |
int |
getSecond() |
Получает поле секунд минуты. |
int |
hashCode() |
Код хэша для этого времени. |
boolean |
isAfter |
Проверяет, предшествует ли мгновение этого OffsetTime мгновению указанного времени, применяя оба времени к общей дате. |
boolean |
isBefore |
Проверяет, предшествует ли мгновение этого OffsetTime мгновению указанного времени, применяя оба времени к общей дате. |
boolean |
isEqual |
Проверяет, равно ли мгновение этого OffsetTime мгновению указанного времени, применяя оба времени к общей дате. |
boolean |
isSupported |
Проверяет, поддерживается ли указанное поле. |
boolean |
isSupported |
Проверяет, поддерживается ли указанный интервал. |
OffsetTime |
minus |
Возвращает копию этого времени с вычтенным указанным значением. |
OffsetTime |
minus |
Возвращает копию этого времени с вычтенным указанным значением. |
OffsetTime |
minusHours |
Возвращает копию этого OffsetTime с вычтенным указанным количеством часов. |
OffsetTime |
minusMinutes |
Возвращает копию этого OffsetTime с вычтенным указанным количеством минут. |
OffsetTime |
minusNanos |
Возвращает копию этого OffsetTime с вычтенным указанным количеством наносекунд. |
OffsetTime |
minusSeconds |
Возвращает копию этого OffsetTime с вычтенным указанным количеством секунд. |
static OffsetTime |
now() |
Получает текущее время с системных часов в часовом поясе по умолчанию. |
static OffsetTime |
now |
Получает текущее время с указанных часов. |
static OffsetTime |
now |
Получает текущее время с системных часов в указанном часовом поясе. |
static OffsetTime |
of |
Получает экземпляр OffsetTime по часам, минутам, секундам и наносекундам. |
static OffsetTime |
of |
Получает экземпляр OffsetTime из локального времени и сдвига. |
static OffsetTime |
ofInstant |
Получает экземпляр OffsetTime из Instant и идентификатора часового пояса. |
static OffsetTime |
parse |
Получает экземпляр OffsetTime из строковой строки, например 10:15:30+01:00. |
static OffsetTime |
parse |
Получает экземпляр OffsetTime из строковой строки с использованием определённого форматировщика. |
OffsetTime |
plus |
Возвращает копию этого времени с добавлением указанного значения. |
OffsetTime |
plus |
Возвращает копию этого времени с добавлением указанного значения. |
OffsetTime |
plusHours |
Возвращает копию этого OffsetTime с добавлением указанного количества часов. |
OffsetTime |
plusMinutes |
Возвращает копию этого OffsetTime с добавлением указанного количества минут. |
OffsetTime |
plusNanos |
Возвращает копию этого OffsetTime с добавлением указанного количества наносекунд. |
OffsetTime |
plusSeconds |
Возвращает копию этого OffsetTime с добавлением указанного количества секунд. |
<R> R |
query |
Запрашивает это время с использованием указанного запроса. |
ValueRange |
range |
Получает диапазон допустимых значений для указанного поля. |
long |
toEpochSecond |
Преобразует это OffsetTime в количество секунд с эпохи 1970-01-01T00:00:00Z. |
LocalTime |
toLocalTime() |
Получает часть LocalTime этой даты и времени. |
String |
toString() |
Выводит это время как String, например 10:15:30+01:00. |
OffsetTime |
truncatedTo |
Возвращает копию этого OffsetTime с усечённым временем. |
long |
until |
Вычисляет продолжительность времени до другого времени в терминах указанного интервала. |
OffsetTime |
with |
Возвращает скорректированную копию этого времени. |
OffsetTime |
with |
Возвращает копию этого времени с указанным полем, установленным на новое значение. |
OffsetTime |
withHour |
Возвращает копию этого OffsetTime с изменённым часом дня. |
OffsetTime |
withMinute |
Возвращает копию этого OffsetTime с изменённой минутой часа. |
OffsetTime |
withNano |
Возвращает копию этого OffsetTime с изменённой наносекундой секунды. |
OffsetTime |
withOffsetSameInstant |
Возвращает копию этого OffsetTime с указанным смещением, гарантирующим, что результат находится в то же мгновение в предположительный день. |
OffsetTime |
withOffsetSameLocal |
Возвращает копию этого OffsetTime с указанным смещением, гарантирующим, что результат имеет то же местное время. |
OffsetTime |
withSecond |
Возвращает копию этого OffsetTime с изменённой секундой минуты. |
Подробное описание полей
MIN
public static final OffsetTime MIN
OffsetTime, '00:00:00+18:00'. Это время полуночи в начале дня с максимальным смещением (большие смещения находятся раньше на временной шкале). Это сочетание LocalTime.MIN и ZoneOffset.MAX. Приложение может использовать это как дату "давным-давно" прошлого.MAX
public static final OffsetTime MAX
OffsetTime, '23:59:59.999999999-18:00'. Это время перед полуночью в конце дня с минимальным смещением (большие отрицательные смещения находятся позже на временной шкале). Это сочетание LocalTime.MAX и ZoneOffset.MIN. Приложение может использовать это как дату "очень далёкого" будущего.Подробное описание методов
now
public static OffsetTime now()
Это запрос к system clock в часовом поясе по умолчанию для получения текущего времени. Смещение будет рассчитано из часового пояса в часах.
Использование этого метода предотвращает возможность использования альтернативных часов для тестирования, так как часы жестко закодированы.
- Возвращает:
- текущее время с использованием системных часов и часового пояса по умолчанию, не null
now
public static OffsetTime now(ZoneId zone)
Это запрос к system clock для получения текущего времени. Указание часового пояса исключает зависимость от часового пояса по умолчанию. Смещение будет рассчитано из указанного часового пояса.
Использование этого метода предотвращает возможность использования альтернативных часов для тестирования, так как часы жестко закодированы.
- Параметры:
-
zone- идентификатор часового пояса для использования, не null - Возвращает:
- текущее время с использованием системных часов, не null
now
public static OffsetTime now(Clock clock)
Это запрос к указанным часам для получения текущего времени. Смещение будет рассчитано из часового пояса в часах.
Использование этого метода позволяет использовать альтернативные часы для тестирования. Альтернативные часы могут быть введены с помощью dependency injection.
- Параметры:
-
clock- используемые часы, не null - Возвращает:
- текущее время, не null
of
public static OffsetTime of(LocalTime time, ZoneOffset offset)
OffsetTime из локального времени и смещения.- Параметры:
-
time- локальное время, не null -
offset- смещение часового пояса, не null - Возвращает:
- время со смещением, не null
of
public static OffsetTime of(int hour, int minute, int second, int nanoOfSecond, ZoneOffset offset)
OffsetTime из часа, минуты, секунды и наносекунды. Это создаёт время со смещением с четырьмя указанными полями.
Этот метод предназначен в основном для написания тестовых случаев. Не-тестовый код, как правило, использует другие методы для создания времени со смещением. LocalTime имеет две дополнительные удобные варианты эквивалентного фабричного метода, принимающие меньше аргументов. Они не представлены здесь, чтобы уменьшить нагрузку на API.
- Параметры:
-
hour- час дня для представления, от 0 до 23 -
minute- минута часа для представления, от 0 до 59 -
second- секунда минуты для представления, от 0 до 59 -
nanoOfSecond- наносекунда секунды для представления, от 0 до 999 999 999 -
offset- смещение часового пояса, не null - Возвращает:
- время со смещением, не null
- Исключения:
-
DateTimeException- если значение любого поля выходит за пределы допустимого диапазона
ofInstant
public static OffsetTime ofInstant(Instant instant, ZoneId zone)
OffsetTime из Instant и идентификатора часового пояса. Это создает время со смещением с тем же мгновением, что и указано. Нахождение смещения от UTC/Гринвича просто, так как для каждого мгновения существует только одно допустимое смещение.
Компонент даты мгновения отбрасывается во время преобразования. Это означает, что преобразование никогда не может завершиться неудачей из-за того, что мгновение находится вне допустимого диапазона дат.
- Параметры:
-
instant- мгновение для создания времени, не null -
zone- часовой пояс, который может быть смещением, не null - Возвращает:
- время со смещением, не null
from
public static OffsetTime from(TemporalAccessor temporal)
OffsetTime из временного объекта. Это получает время со смещением на основе указанного временного объекта. TemporalAccessor представляет собой произвольный набор информации о дате и времени, который эта фабрика преобразует в экземпляр OffsetTime.
Преобразование извлекает и объединяет ZoneOffset и LocalTime из временного объекта. Реализации могут выполнять оптимизации, такие как доступ к тем полям, которые эквивалентны соответствующим объектам.
Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса с помощью ссылки на метод, OffsetTime::from.
- Параметры:
-
temporal- временной объект для преобразования, не null - Возвращает:
- время со смещением, не null
- Исключения:
-
DateTimeException- если невозможно преобразовать вOffsetTime
parse
public static OffsetTime parse(CharSequence text)
OffsetTime из текстовой строки, такой как 10:15:30+01:00. Строка должна представлять действительное время и анализируется с помощью DateTimeFormatter.ISO_OFFSET_TIME.
- Параметры:
-
text- текст для анализа, например "10:15:30+01:00", не null - Возвращает:
- разложенное местное время, не null
- Исключения:
-
DateTimeParseException- если текст не может быть проанализирован
parse
public static OffsetTime parse(CharSequence text, DateTimeFormatter formatter)
OffsetTime из текстовой строки с использованием определенного форматера. Текст анализируется с помощью форматера, возвращая время.
- Параметры:
-
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 -
OFFSET_SECONDS
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 в качестве аргумента. Поддерживается ли единица измерения определяется ею.
- 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- если произошел переполнение числового типа
getOffset
public ZoneOffset getOffset()
Это смещение местного времени от UTC/Гринвича.
- Returns:
- смещение часового пояса, не null
withOffsetSameLocal
public OffsetTime withOffsetSameLocal(ZoneOffset offset)
OffsetTime со смещением, гарантируя, что результат имеет то же местное время. Этот метод возвращает объект с тем же LocalTime и указанным ZoneOffset. Вычисления не нужны или не выполняются. Например, если это время представляет 10:30+02:00 и указанное смещение +03:00, то этот метод вернет 10:30+03:00.
Чтобы учесть разницу между смещениями и скорректировать поля времени, используйте withOffsetSameInstant(java.time.ZoneOffset).
Этот экземпляр неизменяем и не изменяется этим методом.
- Parameters:
-
offset- смещение часового пояса для изменения, не null - Returns:
- объект
OffsetTimeна основе этого времени со смещением, не null
withOffsetSameInstant
public OffsetTime withOffsetSameInstant(ZoneOffset offset)
OffsetTime со смещением, гарантируя, что результат находится в тот же момент времени в предполагаемый день. Этот метод возвращает объект с указанным ZoneOffset и LocalTime откорректированным на разницу между двумя смещениями. В результате старые и новые объекты будут представлять один и тот же момент времени в предполагаемый день. Это полезно для определения местного времени в другом смещении. Например, если это время представляет 10:30+02:00 и указанное смещение +03:00, то этот метод вернет 11:30+03:00.
Чтобы изменить смещение без корректировки местного времени, используйте withOffsetSameLocal(java.time.ZoneOffset).
Этот экземпляр неизменяем и не изменяется этим методом.
- Parameters:
-
offset- смещение часового пояса для изменения, не null - Returns:
- объект
OffsetTimeна основе этого времени со смещением, не null
toLocalTime
public LocalTime toLocalTime()
LocalTime этой даты и времени. Возвращает LocalTime с тем же часом, минутой, секундой и наносекундой, что и у этой даты и времени.
- Returns:
- часть времени этой даты и времени, не null
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
с
public OffsetTime with(TemporalAdjuster adjuster)
Возвращает новую копию времени, основанную на текущем времени, с корректировкой времени. Корректировка выполняется с использованием указанного объекта стратегии корректировки. Прочитайте документацию корректировщика, чтобы понять, какая корректировка будет выполнена.
Простой корректировщик может просто установить одно из полей, например, поле часа. Более сложный корректировщик может установить время на последний час дня.
Классы LocalTime и ZoneOffset реализуют TemporalAdjuster, поэтому этот метод может быть использован для изменения времени или смещения:
result = offsetTime.with(time); result = offsetTime.with(offset);
Результат этого метода получается, вызвав метод TemporalAdjuster.adjustInto(Temporal) на указанном корректировщике, передав this в качестве аргумента.
Этот экземпляр неизменяемый и не изменяется в результате вызова этого метода.
- Указано в:
-
withв интерфейсеTemporal - Параметры:
-
adjuster- корректировщик для использования, не null - Возвращает:
- новую копию времени, основанную на текущем времени, с внесённой корректировкой, не null
- Выбрасывает:
-
DateTimeException- если корректировка не может быть выполнена -
ArithmeticException- если происходит переполнение чисел
с
public OffsetTime with(TemporalField field, long newValue)
Возвращает новую копию времени, основанную на текущем времени, со значением для указанного поля, изменённым. Это можно использовать для изменения любого поддерживаемого поля, например, часа, минуты или секунды. Если невозможно установить значение, потому что поле не поддерживается или по какой-либо другой причине, выбрасывается исключение.
Если поле является ChronoField, то корректировка реализуется здесь.
Поле OFFSET_SECONDS вернёт время со заданным смещением. Местное время не изменяется. Если новое значение смещения находится вне допустимого диапазона, будет выброшено исключение DateTimeException.
Другие экземпляры supported fields будут вести себя так же, как соответствующий метод в LocalTime.with(TemporalField, long) LocalTime}. В этом случае смещение не является частью расчёта и останется неизменным.
Все остальные экземпляры ChronoField будут выбрасывать UnsupportedTemporalTypeException.
Если поле не является ChronoField, то результат этого метода получается, вызвав TemporalField.adjustInto(Temporal, long) , передав this в качестве аргумента. В этом случае поле определяет, нужно ли и как корректировать момент времени.
Этот экземпляр неизменяемый и не изменяется в результате вызова этого метода.
- Указано в:
-
withв интерфейсеTemporal - Параметры:
-
field- поле, которое нужно установить в результате, не null -
newValue- новое значение поля в результате - Возвращает:
- новую копию времени, основанную на текущем времени, с указанным полем, установленным, не null
- Выбрасывает:
-
DateTimeException- если поле не может быть установлено -
UnsupportedTemporalTypeException- если поле не поддерживается -
ArithmeticException- если происходит переполнение чисел
withHour
public OffsetTime withHour(int hour)
OffsetTime с изменённым часом. Смещение не влияет на расчёт и останется тем же в результате.
Этот экземпляр неизменяемый и не изменяется в результате вызова этого метода.
- Параметры:
-
hour- час для установки в результате, от 0 до 23 - Возвращает:
- новую копию времени, основанную на текущем времени, с запрошенным часом, не null
- Выбрасывает:
-
DateTimeException- если значение часа некорректно
withMinute
public OffsetTime withMinute(int minute)
OffsetTime с изменённой минутой. Смещение не влияет на расчёт и останется тем же в результате.
Этот экземпляр неизменяемый и не изменяется в результате вызова этого метода.
- Параметры:
-
minute- минута для установки в результате, от 0 до 59 - Возвращает:
- новую копию времени, основанную на текущем времени, с запрошенной минутой, не null
- Выбрасывает:
-
DateTimeException- если значение минуты некорректно
withSecond
public OffsetTime withSecond(int second)
OffsetTime с изменённой секундой. Смещение не влияет на расчёт и останется тем же в результате.
Этот экземпляр неизменяемый и не изменяется в результате вызова этого метода.
- Параметры:
-
second- секунда для установки в результате, от 0 до 59 - Возвращает:
- новую копию времени, основанную на текущем времени, с запрошенной секундой, не null
- Выбрасывает:
-
DateTimeException- если значение секунды некорректно
withNano
public OffsetTime withNano(int nanoOfSecond)
OffsetTime с изменённым наносекундой. Смещение не влияет на расчёт и останется тем же в результате.
Этот экземпляр неизменяемый и не изменяется в результате вызова этого метода.
- Параметры:
-
nanoOfSecond- наносекунда для установки в результате, от 0 до 999 999 999 - Возвращает:
- новую копию времени, основанную на текущем времени, с запрошенной наносекундой, не null
- Выбрасывает:
-
DateTimeException- если значение наносекунд некорректно
truncatedTo
public OffsetTime truncatedTo(TemporalUnit unit)
OffsetTime с усечённым временем. Усечение возвращает копию исходного времени с полями, меньшими, чем указанный элемент, установленными в ноль. Например, усечение с помощью minutes элемента установит поле секунды минуты и наносекунды в ноль.
Элемент должен иметь длительность, которая делится на длину стандартного дня без остатка. Это включает все предоставленные единицы времени в ChronoUnit и DAYS. Другие единицы выбрасывают исключение.
Смещение не влияет на расчёт и останется тем же в результате.
Этот экземпляр неизменяемый и не изменяется в результате вызова этого метода.
- Параметры:
-
unit- единица для усечения, не null - Возвращает:
- новую копию времени, основанную на текущем времени, с усечённым временем, не null
- Выбрасывает:
-
DateTimeException- если усечение невозможно -
UnsupportedTemporalTypeException- если единица не поддерживается
plus
public OffsetTime plus(TemporalAmount amountToAdd)
Возвращает новую копию времени, основанную на текущем времени, с добавлением указанного количества. Количество обычно является Duration, но может быть любого другого типа, реализующего интерфейс TemporalAmount.
Расчёт делегируется объекту количества с помощью вызова TemporalAmount.addTo(Temporal). Реализация количества свободна в реализации добавления любым способом, однако обычно она обращается к plus(long, TemporalUnit). Обратитесь к документации реализации количества, чтобы определить, можно ли его успешно добавить.
Этот экземпляр неизменяемый и не изменяется в результате вызова этого метода.
- Указано в:
-
plusв интерфейсеTemporal - Параметры:
-
amountToAdd- количество для добавления, не null - Возвращает:
- новую копию времени, основанную на текущем времени, с добавлением, не null
- Выбрасывает:
-
DateTimeException- если добавление невозможно -
ArithmeticException- если происходит переполнение чисел
plus
public OffsetTime plus(long amountToAdd, TemporalUnit unit)
Возвращает новую копию времени, основанную на текущем времени, с добавлением указанного количества в терминах единицы. Если невозможно добавить количество, потому что единица не поддерживается или по какой-либо другой причине, выбрасывается исключение.
Если поле является ChronoUnit, то добавление реализуется в LocalTime.plus(long, TemporalUnit). Смещение не является частью расчёта и останется неизменным в результате.
Если поле не является ChronoUnit, то результат этого метода получается, вызвав TemporalUnit.addTo(Temporal, long) , передав this в качестве аргумента. В этом случае единица определяет, нужно ли и как выполнить добавление.
Этот экземпляр неизменяемый и не изменяется в результате вызова этого метода.
- Указано в:
-
plusв интерфейсеTemporal - Параметры:
-
amountToAdd- количество единиц для добавления к результату, может быть отрицательным -
unit- единица количества для добавления, не null - Возвращает:
- новую копию времени, основанную на текущем времени, с добавлением указанного количества, не null
- Выбрасывает:
-
DateTimeException- если добавление невозможно -
UnsupportedTemporalTypeException- если единица не поддерживается -
ArithmeticException- если происходит переполнение чисел
plusHours
public OffsetTime plusHours(long hours)
OffsetTime с добавлением указанного количества часов. Добавляет указанное количество часов к этому времени, возвращая новое время. Вычисление переходит через полночь.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Parameters:
-
hours- количество часов для добавления, может быть отрицательным - Returns:
- новое
OffsetTimeна основе этого времени с добавленными часами, не null
plusMinutes
public OffsetTime plusMinutes(long minutes)
OffsetTime с добавлением указанного количества минут. Добавляет указанное количество минут к этому времени, возвращая новое время. Вычисление переходит через полночь.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Parameters:
-
minutes- количество минут для добавления, может быть отрицательным - Returns:
- новое
OffsetTimeна основе этого времени с добавленными минутами, не null
plusSeconds
public OffsetTime plusSeconds(long seconds)
OffsetTime с добавлением указанного количества секунд. Добавляет указанное количество секунд к этому времени, возвращая новое время. Вычисление переходит через полночь.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Parameters:
-
seconds- количество секунд для добавления, может быть отрицательным - Returns:
- новое
OffsetTimeна основе этого времени с добавленными секундами, не null
plusNanos
public OffsetTime plusNanos(long nanos)
OffsetTime с добавлением указанного количества наносекунд. Добавляет указанное количество наносекунд к этому времени, возвращая новое время. Вычисление переходит через полночь.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Parameters:
-
nanos- количество наносекунд для добавления, может быть отрицательным - Returns:
- новое
OffsetTimeна основе этого времени с добавленными наносекундами, не null
minus
public OffsetTime minus(TemporalAmount amountToSubtract)
Возвращает OffsetTime, основанное на этом, с вычитанием указанного количества. Количество обычно Duration, но может быть любого другого типа, реализующего интерфейс TemporalAmount.
Вычисление делегируется объекту количества путем вызова TemporalAmount.subtractFrom(Temporal). Реализация количества свободна реализовывать вычитание как ей угодно, однако обычно она обращается к minus(long, TemporalUnit). Обратитесь к документации реализации количества, чтобы определить, можно ли ее успешно вычесть.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Specified by:
-
minusв интерфейсеTemporal - Parameters:
-
amountToSubtract- количество для вычитания, не null - Returns:
- новое
OffsetTimeна основе этого времени с произведенным вычитанием, не null - Throws:
-
DateTimeException- если вычитание невозможно -
ArithmeticException- если произошел переполнение числовых значений
minus
public OffsetTime minus(long amountToSubtract, TemporalUnit unit)
Возвращает OffsetTime, основанное на этом, с вычитанием количества в терминах единицы. Если вычитание невозможно, потому что единица не поддерживается или по какой-либо другой причине, выбрасывается исключение.
Этот метод эквивалентен plus(long, TemporalUnit) с отрицательным значением количества. См. этот метод для полного описания того, как работает сложение, а следовательно и вычитание.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Specified by:
-
minusв интерфейсеTemporal - Parameters:
-
amountToSubtract- количество единицы для вычитания из результата, может быть отрицательным -
unit- единица количества для вычитания, не null - Returns:
- новое
OffsetTimeна основе этого времени с указанным количеством вычтенным, не null - Throws:
-
DateTimeException- если вычитание невозможно -
UnsupportedTemporalTypeException- если единица не поддерживается -
ArithmeticException- если произошел переполнение числовых значений
minusHours
public OffsetTime minusHours(long hours)
OffsetTime с вычитанием указанного количества часов. Вычитает указанное количество часов из этого времени, возвращая новое время. Вычисление переходит через полночь.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Parameters:
-
hours- количество часов для вычитания, может быть отрицательным - Returns:
- новое
OffsetTimeна основе этого времени с вычтенными часами, не null
minusMinutes
public OffsetTime minusMinutes(long minutes)
OffsetTime с вычитанием указанного количества минут. Вычитает указанное количество минут из этого времени, возвращая новое время. Вычисление переходит через полночь.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Parameters:
-
minutes- количество минут для вычитания, может быть отрицательным - Returns:
- новое
OffsetTimeна основе этого времени с вычтенными минутами, не null
minusSeconds
public OffsetTime minusSeconds(long seconds)
OffsetTime с вычитанием указанного количества секунд. Вычитает указанное количество секунд из этого времени, возвращая новое время. Вычисление переходит через полночь.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Parameters:
-
seconds- количество секунд для вычитания, может быть отрицательным - Returns:
- новое
OffsetTimeна основе этого времени с вычтенными секундами, не null
minusNanos
public OffsetTime minusNanos(long nanos)
OffsetTime с вычитанием указанного количества наносекунд. Вычитает указанное количество наносекунд из этого времени, возвращая новое время. Вычисление переходит через полночь.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Parameters:
-
nanos- количество наносекунд для вычитания, может быть отрицательным - Returns:
- новое
OffsetTimeна основе этого времени с вычтенными наносекундами, не 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 и ChronoField.OFFSET_SECONDS в качестве полей.
В большинстве случаев проще изменить порядок вызова, используя Temporal.with(TemporalAdjuster):
// these two lines are equivalent, but the second approach is recommended temporal = thisOffsetTime.adjustInto(temporal); temporal = temporal.with(thisOffsetTime);
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Specified by:
-
adjustIntoв интерфейсеTemporalAdjuster - Parameters:
-
temporal- целевой объект для настройки, не null - Returns:
- отрегулированный объект, не null
- Throws:
-
DateTimeException- если настройку невозможно сделать -
ArithmeticException- если произошло переполнение числовых значений
until
public long until(Temporal endExclusive, TemporalUnit unit)
Это вычисляет временной интервал между двумя OffsetTime объектами в терминах одной единицы TemporalUnit. Начальная и конечная точки — это this и указанное время. Результат будет отрицательным, если конечная точка раньше начальной. Например, количество часов между двумя моментами времени можно вычислить с помощью startTime.until(endTime, HOURS).
Temporal , переданные в этот метод, преобразуются в OffsetTime с помощью from(TemporalAccessor). Если смещение отличается между двумя моментами времени, то указанное конечное время нормализуется, чтобы иметь то же самое смещение, что и это время.
Вычисление возвращает целое число, представляющее количество полных единиц между двумя моментами времени. Например, количество часов между 11:30Z и 13:29Z составит только один час, так как до двух часов не хватает одной минуты.
Существуют два равнозначных способа использования этого метода. Первый — вызвать этот метод. Второй — использовать 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- конечная точка времени, исключающая, которая преобразуется вOffsetTime, не null -
unit- единица измерения временного интервала, не null - Returns:
- разница во времени между этим временем и конечной точкой
- Throws:
-
DateTimeException- если интервал не может быть вычислен или конечная временная точка не может быть преобразована вOffsetTime -
UnsupportedTemporalTypeException- если единица измерения не поддерживается -
ArithmeticException- если происходит переполнение числового значения
format
public String format(DateTimeFormatter formatter)
Это время будет передано форматировщику для получения строки.
- Parameters:
-
formatter- используемый форматировщик, не null - Returns:
- строка отформатированного времени, не null
- Throws:
-
DateTimeException- если произошла ошибка во время печати
atDate
public OffsetDateTime atDate(LocalDate date)
OffsetDateTime. Возвращает OffsetDateTime , сформированный из этого времени и указанной даты. Все возможные сочетания даты и времени допустимы.
- Parameters:
-
date- дата для объединения, не null - Returns:
- дата и время со смещением, сформированные из этого времени и указанной даты, не null
toEpochSecond
public long toEpochSecond(LocalDate date)
OffsetTime в количество секунд с эпохи 1970-01-01T00:00:00Z. Это объединяет это смещенное время с указанной датой для расчета значения эпохи в секундах, которое представляет собой количество прошедших секунд с 1970-01-01T00:00:00Z. Моменты времени после эпохи — положительные, раньше — отрицательные.
- Parameters:
-
date- локальная дата, не null - Returns:
- количество секунд с эпохи 1970-01-01T00:00:00Z, может быть отрицательным
- Since:
- 9
compareTo
public int compareTo(OffsetTime other)
OffsetTime с другим временем. Сравнение основано сначала на эквивалентном мгновении UTC, затем на локальном времени. Оно «согласуется с equals», как определено в Comparable.
Например, следующий порядок сравнения:
10:30+01:0011:00+01:0012:00+02:0011:30+01:0012:00+01:0012:30+01:00
equals(). Для сравнения базового локального времени двух экземпляров TemporalAccessor используйте ChronoField.NANO_OF_DAY в качестве компаратора.
- Specified by:
-
compareToв интерфейсеComparable<OffsetTime> - Parameters:
-
other- другое время для сравнения, не null - Returns:
- значение компаратора, т. е. сравнение эквивалентного момента времени UTC, если они не равны, и если эквивалентный момент времени UTC равен, сравнение этого локального времени с локальным временем
other - See Also:
isAfter
public boolean isAfter(OffsetTime other)
OffsetTime после момента времени указанного времени, применяя оба времени к общей дате. Этот метод отличается от сравнения в compareTo(java.time.OffsetTime) тем, что сравнивает только момент времени. Это эквивалентно преобразованию обоих моментов времени в мгновение с помощью одной и той же даты и сравнение моментов времени.
- Parameters:
-
other- другое время для сравнения, не null - Returns:
- true, если это время после момента времени указанного времени
isBefore
public boolean isBefore(OffsetTime other)
OffsetTime до момента времени указанного времени, применяя оба времени к общей дате. Этот метод отличается от сравнения в compareTo(java.time.OffsetTime) тем, что сравнивает только момент времени. Это эквивалентно преобразованию обоих моментов времени в мгновение с помощью одной и той же даты и сравнение моментов времени.
- Parameters:
-
other- другое время для сравнения, не null - Returns:
- true, если это время до момента времени указанного времени
isEqual
public boolean isEqual(OffsetTime other)
OffsetTime моменту времени указанного времени, применяя оба времени к общей дате. Этот метод отличается от сравнения в compareTo(java.time.OffsetTime) и equals(java.lang.Object) тем, что сравнивает только момент времени. Это эквивалентно преобразованию обоих моментов времени в мгновение с помощью одной и той же даты и сравнение моментов времени.
- Parameters:
-
other- другое время для сравнения, не null - Returns:
- true, если это время равно моменту времени указанного времени
equals
public boolean equals(Object obj)
Сравнение основано на локальном времени и смещении. Для сравнения на один и тот же момент времени на временной шкале используйте isEqual(OffsetTime).
Сравниваются только объекты типа OffsetTime, другие типы возвращают false. Для сравнения базового локального времени двух экземпляров TemporalAccessor используйте ChronoField.NANO_OF_DAY в качестве компаратора.
- Overrides:
-
equalsв классеObject - Parameters:
-
obj- объект для проверки, null возвращает false - Returns:
- true, если это время равно другому времени
- See Also:
hashCode
public int hashCode()
- Overrides:
-
hashCodeв классеObject - Returns:
- подходящий хеш-код
- See Also:
toString
public String toString()
String, например, 10:15:30+01:00. Вывод будет одним из следующих форматов ISO-8601:
HH:mmXXXXXHH:mm:ssXXXXXHH:mm:ss.SSSXXXXXHH:mm:ss.SSSSSSXXXXXHH:mm:ss.SSSSSSSSSXXXXX
- Overrides:
-
toStringв классеObject - Returns:
- строковое представление этого времени, не null
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/time/OffsetTime.html