Spec-Zone.ru › OpenJDK 8

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

Объединяет это время с датой, чтобы создать OffsetDateTime.

int compareTo(OffsetTime other)

Сравнивает это OffsetTime с другим временем.

boolean equals(Object obj)

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

String format(DateTimeFormatter formatter)

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

static OffsetTime from(TemporalAccessor temporal)

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

int get(TemporalField field)

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

int getHour()

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

long getLong(TemporalField field)

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

int getMinute()

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

int getNano()

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

ZoneOffset getOffset()

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

int getSecond()

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

int hashCode()

Хэш-код для этого времени.

boolean isAfter(OffsetTime other)

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

boolean isBefore(OffsetTime other)

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

boolean isEqual(OffsetTime other)

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

boolean isSupported(TemporalField field)

Проверяет, поддерживается ли указанное поле.

boolean isSupported(TemporalUnit unit)

Проверяет, поддерживается ли указанная единица.

OffsetTime minus(long amountToSubtract, TemporalUnit unit)

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

OffsetTime minus(TemporalAmount amountToSubtract)

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

OffsetTime minusHours(long hours)

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

OffsetTime minusMinutes(long minutes)

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

OffsetTime minusNanos(long nanos)

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

OffsetTime minusSeconds(long seconds)

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

static OffsetTime now()

Получает текущее время с системных часов в часовом поясе по умолчанию.

static OffsetTime now(Clock clock)

Получает текущее время с указанных часов.

static OffsetTime now(ZoneId zone)

Получает текущее время с системных часов в указанном часовом поясе.

static OffsetTime of(int hour, int minute, int second, int nanoOfSecond, ZoneOffset offset)

Получает экземпляр OffsetTime из часа, минуты, секунды и наносекунды.

static OffsetTime of(LocalTime time, ZoneOffset offset)

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

static OffsetTime ofInstant(Instant instant, ZoneId zone)

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

static OffsetTime parse(CharSequence text)

Получает экземпляр OffsetTime из текстовой строки, например 10:15:30+01:00.

static OffsetTime parse(CharSequence text, DateTimeFormatter formatter)

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

OffsetTime plus(long amountToAdd, TemporalUnit unit)

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

OffsetTime plus(TemporalAmount amountToAdd)

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

OffsetTime plusHours(long hours)

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

OffsetTime plusMinutes(long minutes)

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

OffsetTime plusNanos(long nanos)

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

OffsetTime plusSeconds(long seconds)

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

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

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

ValueRange range(TemporalField field)

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

LocalTime toLocalTime()

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

String toString()

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

OffsetTime truncatedTo(TemporalUnit unit)

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

long until(Temporal endExclusive, TemporalUnit unit)

Вычисляет количество времени до другого времени в терминах указанной единицы.

OffsetTime with(TemporalAdjuster adjuster)

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

OffsetTime with(TemporalField field, long newValue)

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

OffsetTime withHour(int hour)

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

OffsetTime withMinute(int minute)

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

OffsetTime withNano(int nanoOfSecond)

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

OffsetTime withOffsetSameInstant(ZoneOffset offset)

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

OffsetTime withOffsetSameLocal(ZoneOffset offset)

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

OffsetTime withSecond(int second)

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

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

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

Поля

MIN

public static final OffsetTime MIN

Минимальное поддерживаемое значение OffsetTime, '00:00:00+18:00'. Это время полуночи в начале дня с максимальным смещением (большие смещения находятся раньше на временной шкале). Это сочетание LocalTime.MIN и ZoneOffset.MAX. Это может использоваться приложением в качестве даты «далёкого прошлого».

MAX

public static final OffsetTime MAX

Максимальное поддерживаемое значение OffsetTime, '23:59:59.999999999-18:00'. Это время перед полуночью в конце дня с минимальным смещением (большие отрицательные смещения находятся позже на временной шкале). Это сочетание LocalTime.MAX и ZoneOffset.MIN. Это может использоваться приложением в качестве даты «далёкого будущего».

Методы

now

public static OffsetTime now()

Получает текущее время из системных часов в часовом поясе по умолчанию.

Будет запрошен system clock в часовом поясе по умолчанию для получения текущего времени. Смещение будет вычислено из часового пояса в часах.

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

Возвращает:
текущее время, используя системные часы и часовой пояс по умолчанию, не null

now

public static OffsetTime now(ZoneId zone)

Получает текущее время из системных часов в указанном часовом поясе.

Будет запрошен system clock для получения текущего времени. Указание часового пояса позволяет избежать зависимости от часового пояса по умолчанию. Смещение будет вычислено из указанного часового пояса.

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

Параметры:
zone - идентификатор часового пояса для использования, не null
Возвращает:
текущее время, используя системные часы, не null

now

public static OffsetTime now(Clock clock)

Получает текущее время из указанных часов.

Будет запрошен указанный объект часов для получения текущего времени. Смещение будет вычислено из часового пояса в часах.

Использование этого метода позволяет использовать альтернативные часы для тестирования. Альтернативные часы могут быть добавлены с помощью dependency injection.

Параметры:
clock - используемые часы, не null
Возвращает:
текущее время, не null

of

public static OffsetTime of(LocalTime time,
                            ZoneOffset offset)

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

Параметры:
time - локальное время, не null
offset - смещение часового пояса, не null
Возвращает:
время со смещением, не null

of

public static OffsetTime of(int hour,
                            int minute,
                            int second,
                            int nanoOfSecond,
                            ZoneOffset offset)

Получает экземпляр OffsetTime из часа, минуты, секунды и наносекунды.

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

Этот метод в основном предназначен для написания тестовых случаев. В обычном коде, не предназначенном для тестирования, обычно используются другие методы для создания времени со смещением. У LocalTime есть две дополнительные удобные варианты эквивалентного фабричного метода с меньшим количеством аргументов. Они здесь не приведены для уменьшения объема API.

Параметры:
hour - час для представления, от 0 до 23
minute - минута для представления, от 0 до 59
second - секунда для представления, от 0 до 59
nanoOfSecond - наносекунда для представления, от 0 до 999 999 999
offset - смещение часового пояса, не null
Возвращает:
время со смещением, не null
Исключения:
DateTimeException - если значение любого поля находится вне диапазона

ofInstant

public static OffsetTime ofInstant(Instant instant,
                                   ZoneId zone)

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

Создаёт время со смещением с тем же мгновением, что и указанное. Определение смещения от UTC/Гринвича простое, так как для каждого мгновения существует только одно допустимое смещение.

Компонент даты из мгновения отбрасывается во время преобразования. Это означает, что преобразование никогда не может завершиться неудачно из-за того, что мгновение находится вне допустимого диапазона дат.

Параметры:
instant - мгновение для создания времени, не null
zone - часовой пояс, который может быть смещением, не null
Возвращает:
время со смещением, не null

from

public static OffsetTime from(TemporalAccessor temporal)

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

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

Преобразование извлекает и комбинирует ZoneOffset и LocalTime из временного объекта. Реализации разрешено выполнять оптимизации, такие как доступ к тем полям, которые эквивалентны соответствующим объектам.

Этот метод соответствует подписи функционального интерфейса TemporalQuery, позволяя использовать его в качестве запроса с помощью ссылки на метод, OffsetTime::from.

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

parse

public static OffsetTime parse(CharSequence text)

Получает экземпляр OffsetTime из текстовой строки, такой как 10:15:30+01:00.

Строка должна представлять собой допустимое время и анализируется с помощью DateTimeFormatter.ISO_OFFSET_TIME.

Параметры:
text - текст для анализа, такой как "10:15:30+01:00", не null
Возвращает:
разобранное локальное время, не null
Исключения:
DateTimeParseException - если текст не может быть проанализирован

parse

public static OffsetTime parse(CharSequence text,
                               DateTimeFormatter formatter)

Получает экземпляр OffsetTime из текстовой строки с помощью определённого форматера.

Текст анализируется с помощью форматера, возвращая время.

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

isSupported

public boolean isSupported(TemporalField field)

Проверяет, поддерживается ли указанное поле.

Проверяет, можно ли запросить это время для указанного поля. Если ложь, то вызов методов 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.

Например, порядок сравнения:

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

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

Определено в:
compareTo в интерфейсе Comparable<OffsetTime>
Параметры:
other - другое время для сравнения, не null
Возвращает:
значение компаратора, отрицательное, если меньше, положительное, если больше
Использует исключения:
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:mmXXXXX
  • HH:mm:ssXXXXX
  • HH:mm:ss.SSSXXXXX
  • HH:mm:ss.SSSSSSXXXXX
  • HH:mm:ss.SSSSSSSSSXXXXX
Используемый формат будет самым коротким, который выводит полное значение времени, где пропущенные части подразумеваются равными нулю.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого времени, не null

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

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