Класс 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.
Это безусловный класс; использование операций, чувствительных к идентификатору (включая равенство ссылок (==), хэш-код идентификатора или синхронизацию) на экземплярах OffsetTime может привести к непредсказуемым результатам и должно быть избегаемо. Для сравнения следует использовать метод equals.
- Требования к реализации:
- Этот класс неизменяемый и потокобезопасный.
- С:
- 1.8
- См. также:
- Сериализованная форма
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
static OffsetTime | MAX | Максимальное поддерживаемое |
static OffsetTime | MIN | Минимальное поддерживаемое |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
Temporal | adjustInto(Temporal temporal) | Настраивает указанный временной объект таким образом, чтобы у него был такой же смещение и время, как у этого объекта. |
OffsetDateTime | atDate(LocalDate date) | Объединяет это время с датой для создания |
int | compareTo(OffsetTime other) | Сравнивает это |
boolean | equals(Object obj) | Проверяет, равно ли это время другому времени. |
String | format(DateTimeFormatter formatter) | Форматирует это время с помощью указанного форматера. |
static OffsetTime | from(TemporalAccessor temporal) | Получает экземпляр |
int | get(TemporalField field) | Получает значение указанного поля из этого времени в виде |
int | getHour() | Получает поле часа. |
long | getLong(TemporalField field) | Получает значение указанного поля из этого времени в виде |
int | getMinute() | Получает поле минуты. |
int | getNano() | Получает поле наносекунд. |
ZoneOffset | getOffset() | Получает смещение зоны, например '+01:00'. |
int | getSecond() | Получает поле секунды. |
int | hashCode() | Хеш-код для этого времени. |
boolean | isAfter(OffsetTime other) | Проверяет, является ли момент времени этого |
boolean | isBefore(OffsetTime other) | Проверяет, является ли момент времени этого |
boolean | isEqual(OffsetTime other) | Проверяет, равен ли момент времени этого |
boolean | isSupported(TemporalField field) | Проверяет, поддерживается ли указанное поле. |
boolean | isSupported(TemporalUnit unit) | Проверяет, поддерживается ли указанный единица измерения. |
OffsetTime | minus(long amountToSubtract,
TemporalUnit unit) | Возвращает копию этого времени с указанной величиной вычтенной. |
OffsetTime | minus(TemporalAmount amountToSubtract) | Возвращает копию этого времени с указанной величиной вычтенной. |
OffsetTime | minusHours(long hours) | Возвращает копию этого |
OffsetTime | minusMinutes(long minutes) | Возвращает копию этого |
OffsetTime | minusNanos(long nanos) | Возвращает копию этого |
OffsetTime | minusSeconds(long seconds) | Возвращает копию этого |
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) | Получает экземпляр |
static OffsetTime | of(LocalTime time,
ZoneOffset offset) | Получает экземпляр |
static OffsetTime | ofInstant(Instant instant,
ZoneId zone) | Получает экземпляр |
static OffsetTime | parse(CharSequence text) | Получает экземпляр |
static OffsetTime | parse(CharSequence text,
DateTimeFormatter formatter) | Получает экземпляр |
OffsetTime | plus(long amountToAdd,
TemporalUnit unit) | Возвращает копию этого времени с указанной величиной добавленной. |
OffsetTime | plus(TemporalAmount amountToAdd) | Возвращает копию этого времени с указанной величиной добавленной. |
OffsetTime | plusHours(long hours) | Возвращает копию этого |
OffsetTime | plusMinutes(long minutes) | Возвращает копию этого |
OffsetTime | plusNanos(long nanos) | Возвращает копию этого |
OffsetTime | plusSeconds(long seconds) | Возвращает копию этого |
<R> R | query(TemporalQuery<R> query) | Запрашивает это время с использованием указанного запроса. |
ValueRange | range(TemporalField field) | Получает диапазон допустимых значений для указанного поля. |
long | toEpochSecond(LocalDate date) | Преобразует это |
LocalTime | toLocalTime() | Получает часть |
String | toString() | Выводит это время в виде |
OffsetTime | truncatedTo(TemporalUnit unit) | Возвращает копию этого |
long | until(Temporal endExclusive,
TemporalUnit unit) | Вычисляет количество времени до другого времени в терминах указанной единицы измерения. |
OffsetTime | with(TemporalAdjuster adjuster) | Возвращает скорректированную копию этого времени. |
OffsetTime | with(TemporalField field,
long newValue) | Возвращает копию этого времени с указанным полем, установленным на новое значение. |
OffsetTime | withHour(int hour) | Возвращает копию этого |
OffsetTime | withMinute(int minute) | Возвращает копию этого |
OffsetTime | withNano(int nanoOfSecond) | Возвращает копию этого |
OffsetTime | withOffsetSameInstant(ZoneOffset offset) | Возвращает копию этого |
OffsetTime | withOffsetSameLocal(ZoneOffset offset) | Возвращает копию этого |
OffsetTime | withSecond(int second) | Возвращает копию этого |
Методы, объявленные в классе 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.
Например, следующий порядок сравнения:
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 в качестве компаратора.
- Унаследовано от:
-
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:mmXXXXXHH:mm:ssXXXXXHH:mm:ss.SSSXXXXXHH:mm:ss.SSSSSSXXXXXHH:mm:ss.SSSSSSSSSXXXXX
© 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