Класс OffsetTime
- Все реализуемые интерфейсы:
Serializable, Comparable<OffsetTime>, Temporal, TemporalAccessor, TemporalAdjuster
public final class OffsetTime extends Object implements Temporal, TemporalAdjuster, Comparable<OffsetTime>, Serializable
10:15:30+01:00. OffsetTime — неизменяемый объект даты и времени, представляющий время, которое часто рассматривается как час-минута-секунда-смещение. Этот класс хранит все поля времени с точностью до наносекунд, а также смещение часового пояса. Например, значение "13:45:30.123456789+02:00" может храниться в OffsetTime.
Это класс, основанный на значениях; программистам следует считать экземпляры, которые равны, взаимозаменяемыми и не использовать экземпляры для синхронизации, иначе возможно непредсказуемое поведение. Например, в будущей версии синхронизация может завершиться неудачей. Для сравнения следует использовать метод equals.
- Требования к реализации:
- Этот класс является неизменяемым и потокобезопасным.
- Начиная с версии:
- 1.8
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final OffsetTime |
MAX |
Максимальное поддерживаемое значение OffsetTime — '23:59:59.999999999-18:00'. |
static final OffsetTime |
MIN |
Минимальное поддерживаемое значение OffsetTime — '00:00:00+18:00'. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Temporal |
adjustInto |
Настраивает указанный временной объект так, чтобы его смещение и время совпадали с этим объектом. |
OffsetDateTime |
atDate |
Объединяет это время с датой, чтобы создать OffsetDateTime. |
int |
compareTo |
Сравнивает это значение OffsetTime с другим временем. |
boolean |
equals |
Проверяет, равно ли это время другому времени. |
String |
format |
Форматирует это время с помощью указанного средства форматирования. |
static OffsetTime |
from |
Получает экземпляр OffsetTime из временного объекта. |
int |
get |
Получает значение указанного поля этого времени в виде int. |
int |
getHour() |
Получает поле часа суток. |
long |
getLong |
Получает значение указанного поля этого времени в виде long. |
int |
getMinute() |
Получает поле минуты часа. |
int |
getNano() |
Получает поле наносекунды секунды. |
ZoneOffset |
getOffset() |
Получает смещение часового пояса, например '+01:00'. |
int |
getSecond() |
Получает поле секунды минуты. |
int |
hashCode() |
Хеш-код этого времени. |
boolean |
isAfter |
Проверяет, наступает ли момент времени для этого значения OffsetTime позже момента указанного времени, если применить оба времени к одной дате. |
boolean |
isBefore |
Проверяет, наступает ли момент времени для этого значения OffsetTime раньше момента указанного времени, если применить оба времени к одной дате. |
boolean |
isEqual |
Проверяет, совпадает ли момент времени для этого значения OffsetTime с моментом указанного времени, если применить оба времени к одной дате. |
boolean |
isSupported |
Проверяет, поддерживается ли указанное поле. |
boolean |
isSupported |
Проверяет, поддерживается ли указанная единица измерения. |
OffsetTime |
minus |
Возвращает копию этого времени с вычтенным указанным значением. |
OffsetTime |
minus |
Возвращает копию этого времени с вычтенным указанным значением. |
OffsetTime |
minusHours |
Возвращает копию этого значения OffsetTime с вычтенным указанным количеством часов. |
OffsetTime |
minusMinutes |
Возвращает копию этого значения OffsetTime с вычтенным указанным количеством минут. |
OffsetTime |
minusNanos |
Возвращает копию этого значения OffsetTime с вычтенным указанным количеством наносекунд. |
OffsetTime |
minusSeconds |
Возвращает копию этого значения OffsetTime с вычтенным указанным количеством секунд. |
static OffsetTime |
now() |
Получает текущее время по системным часам в часовом поясе по умолчанию. |
static OffsetTime |
now |
Получает текущее время по указанным часам. |
static OffsetTime |
now |
Получает текущее время по системным часам в указанном часовом поясе. |
static OffsetTime |
of |
Получает экземпляр OffsetTime из часа, минуты, секунды и наносекунды. |
static OffsetTime |
of |
Получает экземпляр OffsetTime из локального времени и смещения. |
static OffsetTime |
ofInstant |
Получает экземпляр OffsetTime из Instant и идентификатора часового пояса. |
static OffsetTime |
parse |
Получает экземпляр OffsetTime из текстовой строки, например 10:15:30+01:00. |
static OffsetTime |
parse |
Получает экземпляр OffsetTime из текстовой строки с помощью указанного средства форматирования. |
OffsetTime |
plus |
Возвращает копию этого времени с добавленным указанным значением. |
OffsetTime |
plus |
Возвращает копию этого времени с добавленным указанным значением. |
OffsetTime |
plusHours |
Возвращает копию этого значения OffsetTime с добавленным указанным количеством часов. |
OffsetTime |
plusMinutes |
Возвращает копию этого значения OffsetTime с добавленным указанным количеством минут. |
OffsetTime |
plusNanos |
Возвращает копию этого значения OffsetTime с добавленным указанным количеством наносекунд. |
OffsetTime |
plusSeconds |
Возвращает копию этого значения OffsetTime с добавленным указанным количеством секунд. |
<R> R |
query |
Выполняет запрос к этому времени с помощью указанного запроса. |
ValueRange |
range |
Получает диапазон допустимых значений для указанного поля. |
long |
toEpochSecond |
Преобразует это значение OffsetTime в количество секунд с начала эпохи 1970-01-01T00:00:00Z. |
LocalTime |
toLocalTime() |
Получает компонент LocalTime этой даты и времени. |
String |
toString() |
Представляет это время в виде String, например 10:15:30+01:00. |
OffsetTime |
truncatedTo |
Возвращает копию этого значения OffsetTime с усечённым временем. |
long |
until |
Вычисляет промежуток времени до другого времени в указанных единицах измерения. |
OffsetTime |
with |
Возвращает скорректированную копию этого времени. |
OffsetTime |
with |
Возвращает копию этого времени, в которой указанному полю присвоено новое значение. |
OffsetTime |
withHour |
Возвращает копию этого значения OffsetTime с изменённым полем часа суток. |
OffsetTime |
withMinute |
Возвращает копию этого значения OffsetTime с изменённым полем минуты часа. |
OffsetTime |
withNano |
Возвращает копию этого значения OffsetTime с изменённым полем наносекунды секунды. |
OffsetTime |
withOffsetSameInstant |
Возвращает копию этого значения OffsetTime с указанным смещением, обеспечивая совпадение результата с тем же моментом времени в предполагаемый день. |
OffsetTime |
withOffsetSameLocal |
Возвращает копию этого значения OffsetTime с указанным смещением, обеспечивая совпадение результата с тем же локальным временем. |
OffsetTime |
withSecond |
Возвращает копию этого значения OffsetTime с изменённым полем секунды минуты. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело и подлежит удалению: этот элемент API будет удалён в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого значения Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание полей
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)
Проверяет, можно ли прибавить указанную единицу к этому времени со смещением или вычесть её из него. Если нет, вызовы методов 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()
Это смещение местного времени относительно UTC/Гринвича.
- Возвращает:
- смещение часового пояса, не null
withOffsetSameLocal
public OffsetTime withOffsetSameLocal(ZoneOffset offset)
OffsetTime с указанным смещением, сохраняя то же местное время. Этот метод возвращает объект с тем же LocalTime и указанным ZoneOffset. Вычисления не требуются и не выполняются. Например, если это время представляет 10:30+02:00, а указанное смещение равно +03:00, метод вернёт 10:30+03:00.
Чтобы учесть разницу между смещениями и скорректировать поля времени, используйте withOffsetSameInstant(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(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 - Возвращает:
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 - Возвращает:
- значение сравнения: сравнение эквивалентных моментов времени в UTC
other, если они не равны; если эквивалентные моменты времени в UTCotherравны, сравнение этого местного времени с местным временемother - См. также:
isAfter
public boolean isAfter(OffsetTime other)
OffsetTime позже указанного времени, если применить оба времени к одной дате. Этот метод отличается от сравнения в compareTo(OffsetTime) тем, что сравнивает только момент времени. Это эквивалентно преобразованию обоих значений времени в моменты времени с использованием одной даты и последующему сравнению этих моментов.
- Параметры:
-
other- другое время для сравнения, не null - Возвращает:
- true, если этот момент наступает позже момента указанного времени
isBefore
public boolean isBefore(OffsetTime other)
OffsetTime раньше указанного времени, если применить оба времени к одной дате. Этот метод отличается от сравнения в compareTo(OffsetTime) тем, что сравнивает только момент времени. Это эквивалентно преобразованию обоих значений времени в моменты времени с использованием одной даты и последующему сравнению этих моментов.
- Параметры:
-
other- другое время для сравнения, не null - Возвращает:
- true, если этот момент наступает раньше момента указанного времени
isEqual
public boolean isEqual(OffsetTime other)
OffsetTime с моментом указанного времени, если применить оба времени к одной дате. Этот метод отличается от сравнения в compareTo(OffsetTime) и equals(Object) тем, что сравнивает только момент времени. Это эквивалентно преобразованию обоих значений времени в моменты времени с использованием одной даты и последующему сравнению этих моментов.
- Параметры:
-
other- другое время для сравнения, не null - Возвращает:
- true, если этот момент совпадает с моментом указанного времени
equals
public boolean equals(Object obj)
Сравнение основано на местном времени и смещении. Чтобы проверить, совпадают ли моменты на временной шкале, используйте isEqual(OffsetTime).
Сравниваются только объекты типа OffsetTime; для объектов других типов возвращается false. Чтобы сравнить лежащее в основе местное время двух экземпляров TemporalAccessor, используйте в качестве компаратора ChronoField.NANO_OF_DAY.
hashCode
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, 2025, 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.