Класс 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 Максимально поддерживаемое время, '23:59:59.999999999-18:00'. |
static OffsetTime |
MIN Минимально поддерживаемое время, '00:00:00+18:00'. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
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) Получает диапазон допустимых значений для указанного поля. |
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)
Проверяет, поддерживается ли указанное поле.
Проверяет, можно ли запросить это время для указанного поля. Если ложь, то вызов методов 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 и выбросят исключение DateTimeException. Все остальные экземпляры 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) с отрицательным значением. Полное описание работы сложения, а следовательно, и вычитания, см. в этом методе.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Определено в:
-
minusв интерфейсеTemporal - Параметры:
-
amountToSubtract- количество единиц измерения для вычитания из результата, может быть отрицательным -
unit- единица измерения для вычитания, не null - Возвращает:
- копию времени, основанную на текущем времени с указанным значением, вычтенным, не null
- Использует исключения:
-
DateTimeException- если вычитание невозможно -
UnsupportedTemporalTypeException- если единица измерения не поддерживается -
ArithmeticException- если произошёл переполнение числовых значений
minusHours
public OffsetTime minusHours(long hours)
Возвращает копию этого OffsetTime с указанным количеством часов, вычтенных.
Отнимает указанное количество часов от текущего времени, возвращая новое время. Вычисление происходит с обходом полуночи.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
hours- количество часов для вычитания, может быть отрицательным - Возвращает:
- копию времени, основанную на текущем времени с вычтенными часами, не null
minusMinutes
public OffsetTime minusMinutes(long minutes)
Возвращает копию этого OffsetTime с указанным количеством минут, вычтенных.
Вычитает указанное количество минут из текущего времени, возвращая новое время. Вычисление происходит с обходом полуночи.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
minutes- количество минут для вычитания, может быть отрицательным - Возвращает:
- копию времени, основанную на текущем времени с вычтенными минутами, не null
minusSeconds
public OffsetTime minusSeconds(long seconds)
Возвращает копию этого OffsetTime с указанным количеством секунд, вычтенных.
Вычитает указанное количество секунд из текущего времени, возвращая новое время. Вычисление происходит с обходом полуночи.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
seconds- количество секунд для вычитания, может быть отрицательным - Возвращает:
- копию времени, основанную на текущем времени с вычтенными секундами, не null
minusNanos
public OffsetTime minusNanos(long nanos)
Возвращает копию этого OffsetTime с указанным количеством наносекунд, вычтенных.
Вычитает указанное количество наносекунд из текущего времени, возвращая новое время. Вычисление происходит с обходом полуночи.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
nanos- количество наносекунд для вычитания, может быть отрицательным - Возвращает:
- копию времени, основанную на текущем времени с вычтенными наносекундами, не 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
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 - Возвращает:
- значение компаратора, отрицательное, если меньше, положительное, если больше
- Использует исключения:
-
NullPointerException- если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.