Spec-Zone.ru › OpenJDK 17

Класс OffsetTime

java.lang.Object
java.time.OffsetTime
Все реализованные интерфейсы:
Serializable, Comparable<OffsetTime>, Temporal, TemporalAccessor, TemporalAdjuster
public final class OffsetTime extends Object implements Temporal, TemporalAdjuster, Comparable<OffsetTime>, Serializable
Время с смещением от UTC/Гринвича в системе календаря ISO-8601, например 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(Temporal temporal)
Настраивает указанный временной объект так, чтобы у него был тот же сдвиг и время, что и у этого объекта.
OffsetDateTime atDate(LocalDate date)
Объединяет это время с датой для создания OffsetDateTime.
int compareTo(OffsetTime other)
Сравнивает это OffsetTime с другим временем.
boolean equals(Object obj)
Проверяет, равно ли это время другому времени.
String format(DateTimeFormatter formatter)
Форматирует это время с использованием указанного форматировщика.
static OffsetTime from(TemporalAccessor temporal)
Получает экземпляр OffsetTime из временного объекта.
int get(TemporalField field)
Получает значение указанного поля из этого времени в виде int.
int getHour()
Получает поле часа.
long getLong(TemporalField field)
Получает значение указанного поля из этого времени в виде long.
int getMinute()
Получает поле минуты.
int getNano()
Получает поле наносекунд.
ZoneOffset getOffset()
Получает смещение зоны, например '+01:00'.
int getSecond()
Получает поле секунды.
int hashCode()
Хеш-код для этого времени.
boolean isAfter(OffsetTime other)
Проверяет, является ли момент времени этого OffsetTime после момента времени указанного времени, применяя оба времени к общей дате.
boolean isBefore(OffsetTime other)
Проверяет, является ли момент времени этого OffsetTime до момента времени указанного времени, применяя оба времени к общей дате.
boolean isEqual(OffsetTime other)
Проверяет, равен ли момент времени этого OffsetTime моменту времени указанного времени, применяя оба времени к общей дате.
boolean isSupported(TemporalField field)
Проверяет, поддерживается ли указанное поле.
boolean isSupported(TemporalUnit unit)
Проверяет, поддерживается ли указанный период.
OffsetTime minus(long amountToSubtract, TemporalUnit unit)
Возвращает копию этого времени с вычитанием указанного значения.
OffsetTime minus(TemporalAmount amountToSubtract)
Возвращает копию этого времени с вычитанием указанного значения.
OffsetTime minusHours(long hours)
Возвращает копию этого OffsetTime с вычитанием указанного количества часов.
OffsetTime minusMinutes(long minutes)
Возвращает копию этого OffsetTime с вычитанием указанного количества минут.
OffsetTime minusNanos(long nanos)
Возвращает копию этого OffsetTime с вычитанием указанного количества наносекунд.
OffsetTime minusSeconds(long seconds)
Возвращает копию этого OffsetTime с вычитанием указанного количества секунд.
static OffsetTime now()
Получает текущее время из системных часов в часовом поясе по умолчанию.
static OffsetTime now(Clock clock)
Получает текущее время из указанных часов.
static OffsetTime now(ZoneId zone)
Получает текущее время из системных часов в указанном часовом поясе.
static OffsetTime of(int hour, int minute, int second, int nanoOfSecond, ZoneOffset offset)
Получает экземпляр OffsetTime из часа, минуты, секунды и наносекунды.
static OffsetTime of(LocalTime time, ZoneOffset offset)
Получает экземпляр OffsetTime из местного времени и смещения.
static OffsetTime ofInstant(Instant instant, ZoneId zone)
Получает экземпляр OffsetTime из Instant и идентификатора зоны.
static OffsetTime parse(CharSequence text)
Получает экземпляр OffsetTime из строкового представления, например 10:15:30+01:00.
static OffsetTime parse(CharSequence text, DateTimeFormatter formatter)
Получает экземпляр OffsetTime из строкового представления с использованием определённого форматировщика.
OffsetTime plus(long amountToAdd, TemporalUnit unit)
Возвращает копию этого времени с добавлением указанного значения.
OffsetTime plus(TemporalAmount amountToAdd)
Возвращает копию этого времени с добавлением указанного значения.
OffsetTime plusHours(long hours)
Возвращает копию этого OffsetTime с добавлением указанного количества часов.
OffsetTime plusMinutes(long minutes)
Возвращает копию этого OffsetTime с добавлением указанного количества минут.
OffsetTime plusNanos(long nanos)
Возвращает копию этого OffsetTime с добавлением указанного количества наносекунд.
OffsetTime plusSeconds(long seconds)
Возвращает копию этого OffsetTime с добавлением указанного количества секунд.
<R> R query(TemporalQuery<R> query)
Запрашивает это время с использованием указанного запроса.
ValueRange range(TemporalField field)
Получает диапазон допустимых значений для указанного поля.
long toEpochSecond(LocalDate date)
Преобразует это OffsetTime в количество секунд, прошедших с эпохи 1970-01-01T00:00:00Z.
LocalTime toLocalTime()
Получает LocalTime часть этой даты и времени.
String toString()
Выводит это время как String, например 10:15:30+01:00.
OffsetTime truncatedTo(TemporalUnit unit)
Возвращает копию этого OffsetTime с обнуленным временем.
long until(Temporal endExclusive, TemporalUnit unit)
Вычисляет интервал времени до другого времени в указанных единицах измерения.
OffsetTime with(TemporalAdjuster adjuster)
Возвращает скорректированную копию этого времени.
OffsetTime with(TemporalField field, long newValue)
Возвращает копию этого времени с указанным полем, установленным на новое значение.
OffsetTime withHour(int hour)
Возвращает копию этого OffsetTime с изменённым часом.
OffsetTime withMinute(int minute)
Возвращает копию этого OffsetTime с изменённой минутой.
OffsetTime withNano(int nanoOfSecond)
Возвращает копию этого OffsetTime с изменённой наносекундой.
OffsetTime withOffsetSameInstant(ZoneOffset offset)
Возвращает копию этого OffsetTime с указанным смещением, гарантируя, что результат находится в тот же момент времени в предполагаемый день.
OffsetTime withOffsetSameLocal(ZoneOffset offset)
Возвращает копию этого OffsetTime с указанным смещением, гарантируя, что результат имеет то же местное время.
OffsetTime withSecond(int second)
Возвращает копию этого OffsetTime с изменённой секундой.

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

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

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

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 имеет две дополнительные удобные варианты эквивалентного фабричного метода с меньшим количеством аргументов. Они не предоставлены здесь для уменьшения footprint 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)
Проверяет, поддерживается ли указанный единица измерения.

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

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

  • NANOS
  • MICROS
  • MILLIS
  • SECONDS
  • MINUTES
  • HOURS
  • HALF_DAYS
Все остальные ChronoUnit возвращают ложь.

Если единица измерения не является 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()
Получает смещение часового пояса, например, '+01:00'.

Это смещение локального времени от 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
Возвращает:
скопированное время на основе this с произведенной коррекцией, не 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 - новое значение поля в результате
Возвращает:
скопированное время на основе this с установленным полем, не null
Выбрасывает:
DateTimeException - если поле не может быть установлено
UnsupportedTemporalTypeException - если поле не поддерживается
ArithmeticException - если произошел численный переполнение

withHour

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

Смещение не влияет на вычисление и будет таким же в результате.

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

Параметры:
hour - час, который нужно установить в результате, от 0 до 23
Возвращает:
скопированное время на основе этого времени с запрошенным часом, не null
Выбрасывает:
DateTimeException - если значение часа недопустимо

withMinute

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

Смещение не влияет на вычисление и будет таким же в результате.

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

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

withSecond

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

Смещение не влияет на вычисление и будет таким же в результате.

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

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

withNano

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

Смещение не влияет на вычисление и будет таким же в результате.

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

Параметры:
nanoOfSecond - наносекунда, которую нужно установить в результате, от 0 до 999999999
Возвращает:
скопированное время на основе этого времени с запрошенной наносекундой, не null
Выбрасывает:
DateTimeException - если значение наносекунд недопустимо

truncatedTo

public OffsetTime truncatedTo(TemporalUnit unit)
Возвращает копию этого времени, усечённую до указанного временного интервала.

Усечение возвращает копию исходного времени, где поля, меньшие указанного интервала, установлены в ноль. Например, усечение с использованием интервала 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.

Например, порядок сортировки следующий:

  1. 10:30+01:00
  2. 11:00+01:00
  3. 12:00+02:00
  4. 11:30+01:00
  5. 12:00+01:00
  6. 12:30+01:00
Значения #2 и #3 представляют один и тот же момент времени на временной шкале. Когда два значения представляют один и тот же момент, сравнивается местное время, чтобы различить их. Этот шаг необходим для обеспечения согласованности порядка с equals().

Для сравнения базового местного времени двух TemporalAccessor экземпляров используйте ChronoField.NANO_OF_DAY в качестве сравнивателя.

Specified by:
compareTo в интерфейсе Comparable<OffsetTime>
Parameters:
other - другое время для сравнения, не null
Returns:
значение сравнения, отрицательное, если меньше, положительное, если больше

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:
  • Object.hashCode()
  • HashMap

hashCode

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

toString

public String toString()
Выводит это время в виде String, например, 10:15:30+01:00.

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

  • HH:mmXXXXX
  • HH:mm:ssXXXXX
  • HH:mm:ss.SSSXXXXX
  • HH:mm:ss.SSSSSSXXXXX
  • HH:mm:ss.SSSSSSSSSXXXXX
Используемый формат будет самым коротким, который выведет полное значение времени, где опущенные части подразумеваются равными нулю.
Overrides:
toString в классе Object
Returns:
строковое представление этого времени, не null

© 1993, 2021, 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/17/docs/api/java.base/java/time/OffsetTime.html

Spec-Zone.ru

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