Класс 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.

Это безусловный класс; использование операций, чувствительных к идентификатору (включая равенство ссылок (==), хэш-код идентификатора или синхронизацию) на экземплярах OffsetTime может привести к непредсказуемым результатам и должно быть избегаемо. Для сравнения следует использовать метод equals.

Требования к реализации:
Этот класс неизменяемый и потокобезопасный.
С:
1.8
См. также:
Сериализованная форма

Поля

Модификатор и тип Поле Описание
static OffsetTime MAX

Максимальное поддерживаемое OffsetTime, '23:59:59.999999999-18:00'.

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

Спецификация:
isSupported в интерфейсе Temporal
Параметры:
unit - проверяемый интервал, null возвращает false
Возвращает:
true, если интервал можно добавить/вычесть, false, если нет

range

public ValueRange range(TemporalField field)

Получает диапазон допустимых значений для указанного поля.

Объект диапазона выражает минимальное и максимальное допустимые значения для поля. Это время используется для повышения точности возвращаемого диапазона. Если невозможно вернуть диапазон, потому что поле не поддерживается или по какой-либо другой причине, выбрасывается исключение.

Если поле является ChronoField, то запрос реализован здесь. supported fields вернет соответствующие экземпляры диапазона. Все остальные ChronoField экземпляры выбросят UnsupportedTemporalTypeException.

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

Спецификация:
range в интерфейсе TemporalAccessor
Параметры:
field - поле, для которого запрашивается диапазон, не null
Возвращает:
диапазон допустимых значений для поля, не null
Исключения:
DateTimeException - если диапазон для поля получить нельзя
UnsupportedTemporalTypeException - если поле не поддерживается

get

public int get(TemporalField field)

Получает значение указанного поля из этого времени в качестве int.

Это запрос значения указанного поля для этого времени. Возвращаемое значение всегда будет находиться в допустимом диапазоне значений для поля. Если невозможно вернуть значение, потому что поле не поддерживается или по какой-либо другой причине, выбрасывается исключение.

Если поле является ChronoField, то запрос реализуется здесь. supported fields вернет допустимые значения на основе этого времени, за исключением NANO_OF_DAY и MICRO_OF_DAY, которые слишком велики, чтобы поместиться в int и вызывают UnsupportedTemporalTypeException. Все остальные ChronoField экземпляры выбросят UnsupportedTemporalTypeException.

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

Определено в:
get в интерфейсе TemporalAccessor
Параметры:
field - поле для получения, не null
Возвращает:
значение для поля
Исключения:
DateTimeException - если значение для поля получить нельзя или значение находится вне диапазона допустимых значений для поля
UnsupportedTemporalTypeException - если поле не поддерживается или диапазон значений превышает int
ArithmeticException - если произошел переполнение числового типа

getLong

public long getLong(TemporalField field)

Получает значение указанного поля из этого времени в виде long.

Это запрос значения указанного поля для этого времени. Если невозможно вернуть значение, потому что поле не поддерживается или по какой-либо другой причине, выбрасывается исключение.

Если поле является ChronoField, то запрос реализуется здесь. supported fields вернет допустимые значения на основе этого времени. Все остальные ChronoField экземпляры выбросят UnsupportedTemporalTypeException.

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

Определено в:
getLong в интерфейсе TemporalAccessor
Параметры:
field - поле для получения, не null
Возвращает:
значение для поля
Исключения:
DateTimeException - если значение для поля получить нельзя
UnsupportedTemporalTypeException - если поле не поддерживается
ArithmeticException - если произошел переполнение числового типа

getOffset

public ZoneOffset getOffset()

Получает смещение часового пояса, например, '+01:00'.

Это смещение местного времени от UTC/Гринвича.

Возвращает:
смещение часового пояса, не null

withOffsetSameLocal

public OffsetTime withOffsetSameLocal(ZoneOffset offset)

Возвращает копию этого OffsetTime со заданным смещением, обеспечивая, что результат имеет то же местное время.

Этот метод возвращает объект с тем же LocalTime и указанным ZoneOffset. Вычисления не нужны или не выполняются. Например, если это время представляет 10:30+02:00 и указанное смещение +03:00, то этот метод вернёт 10:30+03:00.

Чтобы учесть разницу между смещениями и скорректировать поля времени, используйте withOffsetSameInstant(java.time.ZoneOffset).

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

Параметры:
offset - смещение часового пояса для изменения, не null
Возвращает:
объект 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).

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

Параметры:
offset - смещение часового пояса для изменения, не null
Возвращает:
объект OffsetTime на основе этого времени со запрошенным смещением, не null

toLocalTime

public LocalTime toLocalTime()

Получает LocalTime часть этого объекта даты и времени.

Это возвращает LocalTime с теми же часом, минутой, секундой и наносекундой, что и у этого объекта даты и времени.

Возвращает:
часть времени этого объекта даты и времени, не null

getHour

public int getHour()

Получает поле часа суток.

Возвращает:
час суток, от 0 до 23

getMinute

public int getMinute()

Получает поле минут.

Возвращает:
минуты, от 0 до 59

getSecond

public int getSecond()

Получает поле секунд.

Возвращает:
секунды, от 0 до 59

getNano

public int getNano()

Получает поле наносекунд.

Возвращает:
наносекунды, от 0 до 999 999 999

with

public OffsetTime with(TemporalAdjuster adjuster)

Возвращает скорректированную копию этого времени.

Это возвращает OffsetTime, основанный на этом, со скорректированным временем. Корректировка производится с использованием указанного объекта стратегии корректировки. Прочитайте документацию корректировщика, чтобы понять, какая корректировка будет произведена.

Простой корректировщик может просто установить одно из полей, например, поле часа. Более сложный корректировщик может установить время на последний час дня.

Классы LocalTime и ZoneOffset реализуют TemporalAdjuster, поэтому этот метод может использоваться для изменения времени или смещения:

result = offsetTime.with(time);
  result = offsetTime.with(offset);

Результат этого метода получается путем вызова метода TemporalAdjuster.adjustInto(Temporal) на указанном корректировщике, передавая this в качестве аргумента.

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

Определено в:
with в интерфейсе Temporal
Параметры:
adjuster - корректировщик для использования, не null
Возвращает:
объект OffsetTime на основе this с произведённой корректировкой, не null
Исключения:
DateTimeException - если корректировка не может быть произведена
ArithmeticException - если произошел переполнение числового типа

with

public OffsetTime with(TemporalField field,
                       long newValue)

Возвращает копию этого времени с указанным полем, установленным на новое значение.

Это возвращает OffsetTime, основанный на этом, со значением для указанного поля изменённым. Это можно использовать для изменения любого поддерживаемого поля, например, часа, минуты или секунды. Если невозможно установить значение, потому что поле не поддерживается или по какой-либо другой причине, выбрасывается исключение.

Если поле является ChronoField, то корректировка реализуется здесь.

Поле OFFSET_SECONDS вернёт время с указанным смещением. Местное время не изменяется. Если новое значение смещения находится вне допустимого диапазона, будет выброшено DateTimeException.

Другие supported fields будут вести себя в соответствии с соответствующим методом в LocalTime.with(TemporalField, long) LocalTime}. В этом случае смещение не участвует в вычислении и останется без изменений.

Все остальные ChronoField экземпляры выбросят UnsupportedTemporalTypeException.

Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.adjustInto(Temporal, long), передавая this в качестве аргумента. В этом случае поле определяет, следует ли и как корректировать момент времени.

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

Определено в:
with в интерфейсе Temporal
Параметры:
field - поле для установки в результате, не null
newValue - новое значение поля в результате
Возвращает:
объект OffsetTime на основе this с заданным полем, не null
Исключения:
DateTimeException - если поле установить нельзя
UnsupportedTemporalTypeException - если поле не поддерживается
ArithmeticException - если произошел переполнение числового типа

withHour

public OffsetTime withHour(int hour)

Возвращает копию этого OffsetTime с измененным часом суток.

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

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

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

withMinute

public OffsetTime withMinute(int minute)

Возвращает копию этого OffsetTime с изменённой минутой.

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

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

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

withSecond

public OffsetTime withSecond(int second)

Возвращает копию этого OffsetTime с изменённой секундой минуты.

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

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

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

withNano

public OffsetTime withNano(int nanoOfSecond)

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

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

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

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

truncatedTo

public OffsetTime truncatedTo(TemporalUnit unit)

Возвращает копию этого OffsetTime с усечённым временем.

Усечение возвращает копию исходного времени с полями, меньшими, чем указанный единица, установленные в ноль. Например, усечение с помощью единицы minutes установит поле секунды минуты и наносекунды в ноль.

Единица должна иметь длительность, которая делится на длину стандартного дня без остатка. Это включает все предоставленные единицы времени на ChronoUnit и DAYS. Другие единицы вызывают исключение.

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

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

Параметры:
unit - единица усечения, не null
Возвращает:
объект OffsetTime на основе этого времени с усечённым временем, не null
Исключения:
DateTimeException - если невозможно выполнить усечение
UnsupportedTemporalTypeException - если единица не поддерживается

plus

public OffsetTime plus(TemporalAmount amountToAdd)

Возвращает копию этого времени с добавленным указанным значением.

Это возвращает OffsetTime, основанный на этом, с добавленным указанным значением. Значение обычно является Duration, но может быть любого другого типа, реализующего интерфейс TemporalAmount.

Вычисление делегируется объекту значения вызовом TemporalAmount.addTo(Temporal). Реализация значения свободна реализовывать сложение любым способом, но обычно обращается к plus(long, TemporalUnit). Обратитесь к документации реализации значения, чтобы определить, можно ли его успешно добавить.

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

Определено в:
plus в интерфейсе Temporal
Параметры:
amountToAdd - значение для добавления, не null
Возвращает:
объект OffsetTime на основе этого времени с произведённым добавлением, не null
Исключения:
DateTimeException - если добавление невозможно
ArithmeticException - если произошёл переполнение числовых данных

plus

public OffsetTime plus(long amountToAdd,
                       TemporalUnit unit)

Возвращает копию этого времени с добавленным указанным значением.

Это возвращает OffsetTime, основанный на этом, со значением в единицах, добавленным. Если невозможно добавить значение, потому что единица не поддерживается или по какой-либо другой причине, выбрасывается исключение.

Если поле является ChronoUnit, то добавление реализуется LocalTime.plus(long, TemporalUnit). Смещение не является частью вычисления и останется неизменным в результате.

Если поле не является ChronoUnit, то результат этого метода получается путём вызова TemporalUnit.addTo(Temporal, long) передавая this в качестве аргумента. В этом случае, единица определяет, нужно ли и как выполнить добавление.

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

Определено в:
plus в интерфейсе Temporal
Параметры:
amountToAdd - количество единиц для добавления к результату, может быть отрицательным
unit - единица количества для добавления, не null
Возвращает:
объект OffsetTime на основе этого времени с добавленным указанным значением, не null
Исключения:
DateTimeException - если добавление невозможно
UnsupportedTemporalTypeException - если единица не поддерживается
ArithmeticException - если произошёл переполнение числовых данных

plusHours

public OffsetTime plusHours(long hours)

Возвращает копию этого OffsetTime с добавленным указанным количеством часов.

Это добавляет указанное количество часов к этому времени, возвращая новое время. Вычисление переходит на полночь.

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

Параметры:
hours - часы для добавления, могут быть отрицательными
Возвращает:
объект OffsetTime на основе этого времени с добавленными часами, не null

plusMinutes

public OffsetTime plusMinutes(long minutes)

Возвращает копию этого OffsetTime с добавленным указанным количеством минут.

Это добавляет указанное количество минут к этому времени, возвращая новое время. Вычисление переходит на полночь.

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

Параметры:
minutes - минуты для добавления, могут быть отрицательными
Возвращает:
объект OffsetTime на основе этого времени с добавленными минутами, не null

plusSeconds

public OffsetTime plusSeconds(long seconds)

Возвращает копию этого OffsetTime с добавленным указанным количеством секунд.

Это добавляет указанное количество секунд к этому времени, возвращая новое время. Вычисление переходит на полночь.

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

Параметры:
seconds - секунды для добавления, могут быть отрицательными
Возвращает:
объект OffsetTime на основе этого времени с добавленными секундами, не null

plusNanos

public OffsetTime plusNanos(long nanos)

Возвращает копию этого OffsetTime с добавленным указанным количеством наносекунд.

Это добавляет указанное количество наносекунд к этому времени, возвращая новое время. Вычисление переходит на полночь.

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

Параметры:
nanos - наносекунды для добавления, могут быть отрицательными
Возвращает:
объект OffsetTime на основе этого времени с добавленными наносекундами, не null

minus

public OffsetTime minus(TemporalAmount amountToSubtract)

Возвращает копию этого времени с вычтенным указанным значением.

Это возвращает OffsetTime, основанный на этом, с вычтенным указанным значением. Значение обычно является Duration, но может быть любого другого типа, реализующего интерфейс TemporalAmount.

Вычисление делегируется объекту значения вызовом TemporalAmount.subtractFrom(Temporal). Реализация значения свободна реализовывать вычитание любым способом, но обычно обращается к minus(long, TemporalUnit). Обратитесь к документации реализации значения, чтобы определить, можно ли его успешно вычесть.

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

Определено в:
minus в интерфейсе Temporal
Параметры:
amountToSubtract - значение для вычитания, не null
Возвращает:
объект OffsetTime на основе этого времени с произведённым вычитанием, не null
Исключения:
DateTimeException - если вычитание невозможно
ArithmeticException - если произошёл переполнение числовых данных

minus

public OffsetTime minus(long amountToSubtract,
                        TemporalUnit unit)

Возвращает копию этого времени с вычтенным указанным значением.

Это возвращает OffsetTime, основанный на этом, со значением в единицах, вычтенным. Если невозможно вычесть значение, потому что единица не поддерживается или по какой-либо другой причине, выбрасывается исключение.

Этот метод эквивалентен plus(long, TemporalUnit) со значением, умноженным на -1. Обратитесь к этому методу для полного описания того, как работает сложение, и, следовательно, вычитание.

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

Определено в:
minus в интерфейсе Temporal
Параметры:
amountToSubtract - количество единиц для вычитания из результата, может быть отрицательным
unit - единица количества для вычитания, не null
Возвращает:
объект OffsetTime на основе этого времени с вычтенным указанным значением, не null
Исключения:
DateTimeException - если вычитание невозможно
UnsupportedTemporalTypeException - если единица не поддерживается
ArithmeticException - если произошёл переполнение числовых данных

minusHours

public OffsetTime minusHours(long hours)

Возвращает копию этого OffsetTime с вычтенным указанным количеством часов.

Это вычитает указанное количество часов из этого времени, возвращая новое время. Вычисление переходит на полночь.

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

Параметры:
hours - количество часов для вычитания, может быть отрицательным
Возвращает:
объект OffsetTime на основе этого времени с вычтенными часами, не null

minusMinutes

public OffsetTime minusMinutes(long minutes)

Возвращает копию этого OffsetTime с вычтенным указанным количеством минут.

Вычитает указанное количество минут из текущего времени, возвращая новое время. Вычисление переходит через полночь.

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

Параметры:
minutes - количество минут для вычитания, может быть отрицательным
Возвращает:
объект OffsetTime на основе этого времени с вычтенными минутами, не null

minusSeconds

public OffsetTime minusSeconds(long seconds)

Возвращает копию этого OffsetTime с вычтенным указанным количеством секунд.

Вычитает указанное количество секунд из текущего времени, возвращая новое время. Вычисление переходит через полночь.

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

Параметры:
seconds - количество секунд для вычитания, может быть отрицательным
Возвращает:
объект OffsetTime на основе этого времени с вычтенными секундами, не null

minusNanos

public OffsetTime minusNanos(long nanos)

Возвращает копию этого OffsetTime с вычтенным указанным количеством наносекунд.

Вычитает указанное количество наносекунд из текущего времени, возвращая новое время. Вычисление переходит через полночь.

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

Параметры:
nanos - количество наносекунд для вычитания, может быть отрицательным
Возвращает:
объект OffsetTime на основе этого времени с вычтенными наносекундами, не null

query

public <R> R query(TemporalQuery<R> query)

Запрашивает это время с использованием указанного запроса.

Запрашивает это время с использованием указанного объекта стратегии запроса. Объект TemporalQuery определяет логику, используемую для получения результата. Прочитайте документацию запроса, чтобы понять, каким будет результат этого метода.

Результат этого метода получается путем вызова метода TemporalQuery.queryFrom(TemporalAccessor) на указанном запросе, передав this в качестве аргумента.

Унаследовано от:
query в интерфейсе TemporalAccessor
Параметры типа:
R - тип результата
Параметры:
query - запрос для вызова, не null
Возвращает:
результат запроса, может быть null (определяется запросом)
Исключения:
DateTimeException - если запрос не может быть выполнен (определяется запросом)
ArithmeticException - если произошел переполнение чисел (определяется запросом)

adjustInto

public Temporal adjustInto(Temporal temporal)

Настраивает указанный временной объект, чтобы он имел тот же сдвиг и время, что и этот объект.

Возвращает временной объект того же наблюдаемого типа, что и входной, со сдвигом и временем, изменёнными на то же, что и у этого.

Настройка эквивалентна использованию Temporal.with(TemporalField, long) дважды, передавая ChronoField.NANO_OF_DAY и 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);

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

Унаследовано от:
adjustInto в интерфейсе TemporalAdjuster
Параметры:
temporal - целевой объект для настройки, не null
Возвращает:
настроенный объект, не null
Исключения:
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 в качестве первого аргумента и преобразованный входной временной объект в качестве второго.

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

Унаследовано от:
until в интерфейсе Temporal
Параметры:
endExclusive - конечное время, исключая, которое преобразуется в OffsetTime, не null
unit - единица измерения, не null
Возвращает:
период времени между этим временем и конечным временем
Исключения:
DateTimeException - если период времени не может быть рассчитан, или конечный временной объект не может быть преобразован в OffsetTime
UnsupportedTemporalTypeException - если единица не поддерживается
ArithmeticException - если произошел переполнение чисел

format

public String format(DateTimeFormatter formatter)

Форматирует это время с помощью указанного форматера.

Это время будет передано форматеру для создания строки.

Параметры:
formatter - используемый форматер, не null
Возвращает:
отформатированная строка времени, не null
Исключения:
DateTimeException - если произошла ошибка во время печати

atDate

public OffsetDateTime atDate(LocalDate date)

Комбинирует это время с датой для создания OffsetDateTime.

Возвращает OffsetDateTime , образованный из этого времени и указанной даты. Все возможные сочетания даты и времени допустимы.

Параметры:
date - дата для объединения, не null
Возвращает:
дата-время со сдвигом, образованное из этого времени и указанной даты, не null

toEpochSecond

public long toEpochSecond(LocalDate date)

Преобразует это OffsetTime в количество секунд, прошедших с эпохи 1970-01-01T00:00:00Z.

Комбинирует это смещённое время с указанной датой для расчета значения эпохи-секунд, которое представляет количество прошедших секунд с 1970-01-01T00:00:00Z. Моменты времени после эпохи — положительные, до — отрицательные.

Параметры:
date - локальная дата, не null
Возвращает:
количество секунд с эпохи 1970-01-01T00:00:00Z, может быть отрицательным
С:
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 в качестве компаратора.

Унаследовано от:
compareTo в интерфейсе Comparable<OffsetTime>
Параметры:
other - другое время для сравнения, не null
Возвращает:
значение компаратора, отрицательное, если меньше, положительное, если больше

isAfter

public boolean isAfter(OffsetTime other)

Проверяет, является ли мгновение этого OffsetTime после мгновения указанного времени, применяя оба момента времени к общей дате.

Этот метод отличается от сравнения в compareTo(java.time.OffsetTime) тем, что сравнивает только мгновение времени. Это эквивалентно преобразованию обоих моментов времени в мгновение с использованием той же даты и сравнению мгновений.

Параметры:
other - другое время для сравнения, не null
Возвращает:
true, если это время после мгновения указанного времени

isBefore

public boolean isBefore(OffsetTime other)

Проверяет, является ли мгновение этого OffsetTime до указанного времени, применяя оба времени к общей дате.

Этот метод отличается от сравнения в compareTo(java.time.OffsetTime) тем, что сравнивает только мгновение времени. Это эквивалентно преобразованию обоих времен в мгновение с использованием той же даты и сравнения мгновений.

Параметры:
other - другое время для сравнения, не null
Возвращает:
true, если это мгновение до указанного времени

isEqual

public boolean isEqual(OffsetTime other)

Проверяет, равно ли мгновение этого OffsetTime мгновению указанного времени, применяя оба времени к общей дате.

Этот метод отличается от сравнения в compareTo(java.time.OffsetTime) и equals(java.lang.Object) тем, что сравнивает только мгновение времени. Это эквивалентно преобразованию обоих времен в мгновение с использованием той же даты и сравнения мгновений.

Параметры:
other - другое время для сравнения, не null
Возвращает:
true, если это мгновение равно мгновению указанного времени

equals

public boolean equals(Object obj)

Проверяет, равно ли это время другому времени.

Сравнение основано на локальном времени и смещении. Для сравнения одинаковых мгновений на временной шкале используйте isEqual(OffsetTime).

Сравниваются только объекты типа OffsetTime, другие типы возвращают false. Для сравнения базового локального времени двух экземпляров TemporalAccessor используйте ChronoField.NANO_OF_DAY в качестве компаратора.

Переопределяет:
equals в классе Object
Параметры:
obj - объект для проверки, null возвращает false
Возвращает:
true, если это время равно другому времени
См. также:
Object.hashCode(), HashMap

hashCode

public int hashCode()

Код хеширования для этого времени.

Переопределяет:
hashCode в классе Object
Возвращает:
подходящий код хеширования
См. также:
Object.equals(java.lang.Object), System.identityHashCode(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
Используемый формат будет кратчайшим, который выводит полное значение времени, где пропущенные части подразумеваются как нули.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого времени, не null

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

Spec-Zone .ru
спецификации, руководства, описания, API