Spec-Zone.ru › OpenJDK 8

Класс OffsetDateTime

  • java.lang.Object
    • java.time.OffsetDateTime
Все реализованные интерфейсы:
Serializable, Comparable<OffsetDateTime>, Temporal, TemporalAccessor, TemporalAdjuster

public final class OffsetDateTime
extends Object
implements Temporal, TemporalAdjuster, Comparable<OffsetDateTime>, Serializable

Дата-время с смещением от UTC/Гринвича в системе календаря ISO-8601, например 2007-12-03T10:15:30+01:00.

OffsetDateTime — это неизменяемое представление даты и времени со смещением. Этот класс хранит все поля даты и времени с точностью до наносекунд, а также смещение от UTC/Гринвича. Например, значение "2 октября 2007 года в 13:45:30.123456789 +02:00" может быть сохранено в OffsetDateTime.

OffsetDateTime, ZonedDateTime и Instant все хранят мгновение на временной шкале с точностью до наносекунд. OffsetDateTime — самое простое, просто представляющее мгновение. OffsetDateTime добавляет к мгновению смещение от UTC/Гринвича, что позволяет получить локальное время. ZonedDateTime добавляет полные правила часового пояса.

Предполагается, что ZonedDateTime или Instant используются для моделирования данных в более простых приложениях. Этот класс может использоваться при моделировании концепций даты и времени более подробно или при взаимодействии с базой данных или сетевым протоколом.

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

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

Поля

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

Максимально поддерживаемое OffsetDateTime, '+999999999-12-31T23:59:59.999999999-18:00'.

static OffsetDateTime MIN

Минимально поддерживаемое OffsetDateTime, '-999999999-01-01T00:00:00+18:00'.

Методы

Модификатор и тип Метод и описание
Temporal adjustInto(Temporal temporal)

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

ZonedDateTime atZoneSameInstant(ZoneId zone)

Объединяет эту дату и время с часовым поясом для создания ZonedDateTime, гарантируя, что результат имеет тот же момент времени.

ZonedDateTime atZoneSimilarLocal(ZoneId zone)

Объединяет эту дату и время с часовым поясом для создания ZonedDateTime, пытаясь сохранить ту же локальную дату и время.

int compareTo(OffsetDateTime other)

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

boolean equals(Object obj)

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

String format(DateTimeFormatter formatter)

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

static OffsetDateTime from(TemporalAccessor temporal)

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

int get(TemporalField field)

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

int getDayOfMonth()

Получает поле дня месяца.

DayOfWeek getDayOfWeek()

Получает поле дня недели, которое является перечислением DayOfWeek.

int getDayOfYear()

Получает поле дня года.

int getHour()

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

long getLong(TemporalField field)

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

int getMinute()

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

Month getMonth()

Получает поле месяца года, используя перечисление Month.

int getMonthValue()

Получает поле месяца года от 1 до 12.

int getNano()

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

ZoneOffset getOffset()

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

int getSecond()

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

int getYear()

Получает поле года.

int hashCode()

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

boolean isAfter(OffsetDateTime other)

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

boolean isBefore(OffsetDateTime other)

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

boolean isEqual(OffsetDateTime other)

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

boolean isSupported(TemporalField field)

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

boolean isSupported(TemporalUnit unit)

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

OffsetDateTime minus(long amountToSubtract, TemporalUnit unit)

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

OffsetDateTime minus(TemporalAmount amountToSubtract)

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

OffsetDateTime minusDays(long days)

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

OffsetDateTime minusHours(long hours)

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

OffsetDateTime minusMinutes(long minutes)

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

OffsetDateTime minusMonths(long months)

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

OffsetDateTime minusNanos(long nanos)

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

OffsetDateTime minusSeconds(long seconds)

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

OffsetDateTime minusWeeks(long weeks)

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

OffsetDateTime minusYears(long years)

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

static OffsetDateTime now()

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

static OffsetDateTime now(Clock clock)

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

static OffsetDateTime now(ZoneId zone)

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

static OffsetDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond, ZoneOffset offset)

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

static OffsetDateTime of(LocalDate date, LocalTime time, ZoneOffset offset)

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

static OffsetDateTime of(LocalDateTime dateTime, ZoneOffset offset)

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

static OffsetDateTime ofInstant(Instant instant, ZoneId zone)

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

static OffsetDateTime parse(CharSequence text)

Получает экземпляр OffsetDateTime из текстовой строки, например, 2007-12-03T10:15:30+01:00.

static OffsetDateTime parse(CharSequence text, DateTimeFormatter formatter)

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

OffsetDateTime plus(long amountToAdd, TemporalUnit unit)

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

OffsetDateTime plus(TemporalAmount amountToAdd)

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

OffsetDateTime plusDays(long days)

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

OffsetDateTime plusHours(long hours)

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

OffsetDateTime plusMinutes(long minutes)

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

OffsetDateTime plusMonths(long months)

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

OffsetDateTime plusNanos(long nanos)

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

OffsetDateTime plusSeconds(long seconds)

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

OffsetDateTime plusWeeks(long weeks)

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

OffsetDateTime plusYears(long years)

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

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

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

ValueRange range(TemporalField field)

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

static Comparator<OffsetDateTime> timeLineOrder()

Получает компаратор, который сравнивает два OffsetDateTime объекта, основываясь только на моменте времени.

long toEpochSecond()

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

Instant toInstant()

Преобразует эту дату и время в Instant.

LocalDate toLocalDate()

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

LocalDateTime toLocalDateTime()

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

LocalTime toLocalTime()

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

OffsetTime toOffsetTime()

Преобразует эту дату и время в OffsetTime.

String toString()

Выводит эту дату и время в виде String, например, 2007-12-03T10:15:30+01:00.

ZonedDateTime toZonedDateTime()

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

OffsetDateTime truncatedTo(TemporalUnit unit)

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

long until(Temporal endExclusive, TemporalUnit unit)

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

OffsetDateTime with(TemporalAdjuster adjuster)

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

OffsetDateTime with(TemporalField field, long newValue)

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

OffsetDateTime withDayOfMonth(int dayOfMonth)

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

OffsetDateTime withDayOfYear(int dayOfYear)

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

OffsetDateTime withHour(int hour)

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

OffsetDateTime withMinute(int minute)

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

OffsetDateTime withMonth(int month)

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

OffsetDateTime withNano(int nanoOfSecond)

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

OffsetDateTime withOffsetSameInstant(ZoneOffset offset)

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

OffsetDateTime withOffsetSameLocal(ZoneOffset offset)

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

OffsetDateTime withSecond(int second)

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

OffsetDateTime withYear(int year)

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

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

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

Поля

MIN

public static final OffsetDateTime MIN

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

MAX

public static final OffsetDateTime MAX

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

Методы

timeLineOrder

public static Comparator<OffsetDateTime> timeLineOrder()

Возвращает компаратор, который сравнивает две OffsetDateTime сущности только по моменту времени.

Этот метод отличается от сравнения в compareTo(java.time.OffsetDateTime) тем, что сравнивает только базовый момент времени.

Возвращает:
компаратор, сравнивающий в порядке временной шкалы
См. также:
isAfter(java.time.OffsetDateTime), isBefore(java.time.OffsetDateTime), isEqual(java.time.OffsetDateTime)

now

public static OffsetDateTime now()

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

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

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

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

now

public static OffsetDateTime now(ZoneId zone)

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

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

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

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

now

public static OffsetDateTime now(Clock clock)

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

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

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

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

of

public static OffsetDateTime of(LocalDate date,
                                LocalTime time,
                                ZoneOffset offset)

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

Это создаёт дату-время со смещением с указанной локальной датой, временем и смещением.

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

of

public static OffsetDateTime of(LocalDateTime dateTime,
                                ZoneOffset offset)

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

Это создаёт дату-время со смещением с указанной локальной датой-временем и смещением.

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

of

public static OffsetDateTime of(int year,
                                int month,
                                int dayOfMonth,
                                int hour,
                                int minute,
                                int second,
                                int nanoOfSecond,
                                ZoneOffset offset)

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

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

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

Параметры:
year - год для представления, от MIN_YEAR до MAX_YEAR
month - месяц года для представления, от 1 (январь) до 12 (декабрь)
dayOfMonth - день месяца для представления, от 1 до 31
hour - час дня для представления, от 0 до 23
minute - минута часа для представления, от 0 до 59
second - секунда минуты для представления, от 0 до 59
nanoOfSecond - наносекунда секунды для представления, от 0 до 999 999 999
offset - смещение часового пояса, не null
Возвращает:
дата-время со смещением, не null
Исключение:
DateTimeException - если значение любого поля выходит за пределы допустимого диапазона, или если день месяца недопустим для месяца/года

ofInstant

public static OffsetDateTime ofInstant(Instant instant,
                                       ZoneId zone)

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

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

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

from

public static OffsetDateTime from(TemporalAccessor temporal)

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

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

Преобразование сначала получит ZoneOffset из временного объекта. Затем попытается получить LocalDateTime, при необходимости перейдя к Instant. Результат будет комбинацией ZoneOffset с LocalDateTime или Instant.

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

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

parse

public static OffsetDateTime parse(CharSequence text)

Получает экземпляр OffsetDateTime из текстовой строки, такой как 2007-12-03T10:15:30+01:00.

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

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

parse

public static OffsetDateTime parse(CharSequence text,
                                   DateTimeFormatter formatter)

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

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

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

isSupported

public boolean isSupported(TemporalField field)

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

Это проверяет, можно ли запросить значение указанного поля для этой даты и времени. Если false, то вызов методов range, get и with(TemporalField, long) вызовет исключение.

Если поле является ChronoField, то запрос реализуется здесь. Поддерживаемые поля:

  • NANO_OF_SECOND
  • NANO_OF_DAY
  • MICRO_OF_SECOND
  • MICRO_OF_DAY
  • MILLI_OF_SECOND
  • MILLI_OF_DAY
  • SECOND_OF_MINUTE
  • SECOND_OF_DAY
  • MINUTE_OF_HOUR
  • MINUTE_OF_DAY
  • HOUR_OF_AMPM
  • CLOCK_HOUR_OF_AMPM
  • HOUR_OF_DAY
  • CLOCK_HOUR_OF_DAY
  • AMPM_OF_DAY
  • DAY_OF_WEEK
  • ALIGNED_DAY_OF_WEEK_IN_MONTH
  • ALIGNED_DAY_OF_WEEK_IN_YEAR
  • DAY_OF_MONTH
  • DAY_OF_YEAR
  • EPOCH_DAY
  • ALIGNED_WEEK_OF_MONTH
  • ALIGNED_WEEK_OF_YEAR
  • MONTH_OF_YEAR
  • PROLEPTIC_MONTH
  • YEAR_OF_ERA
  • YEAR
  • ERA
  • INSTANT_SECONDS
  • OFFSET_SECONDS
Все остальные ChronoField возвращают false.

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

Specified by:
isSupported в интерфейсе TemporalAccessor
Parameters:
field - поле для проверки, null возвращает false
Returns:
true, если поле поддерживается в этой дате и времени, false, если нет

isSupported

public boolean isSupported(TemporalUnit unit)

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

Это проверяет, можно ли добавить или вычесть указанный интервал из этой даты и времени. Если false, то вызов методов plus(long, TemporalUnit) и minus вызовет исключение.

Если интервал является ChronoUnit, то запрос реализуется здесь. Поддерживаемые интервалы:

  • NANOS
  • MICROS
  • MILLIS
  • SECONDS
  • MINUTES
  • HOURS
  • HALF_DAYS
  • DAYS
  • WEEKS
  • MONTHS
  • YEARS
  • DECADES
  • CENTURIES
  • MILLENNIA
  • ERAS
Все остальные ChronoUnit возвращают false.

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

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

range

public ValueRange range(TemporalField field)

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

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

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

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

Specified by:
range в интерфейсе TemporalAccessor
Parameters:
field - поле, для которого запрашивается диапазон, не null
Returns:
диапазон допустимых значений для поля, не null
Throws:
DateTimeException - если диапазон для поля получить невозможно
UnsupportedTemporalTypeException - если поле не поддерживается

get

public int get(TemporalField field)

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

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

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

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

Specified by:
get в интерфейсе TemporalAccessor
Parameters:
field - поле для получения, не null
Returns:
значение для поля
Throws:
DateTimeException - если значение для поля получить невозможно или значение выходит за пределы диапазона допустимых значений для поля
UnsupportedTemporalTypeException - если поле не поддерживается или диапазон значений превышает int
ArithmeticException - если происходит переполнение числовых типов

getLong

public long getLong(TemporalField field)

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

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

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

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

Specified by:
getLong в интерфейсе TemporalAccessor
Parameters:
field - поле для получения, не null
Returns:
значение для поля
Throws:
DateTimeException - если значение для поля получить невозможно
UnsupportedTemporalTypeException - если поле не поддерживается
ArithmeticException - если происходит переполнение числовых типов

getOffset

public ZoneOffset getOffset()

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

Это смещение локальной даты и времени от UTC/Гринвича.

Returns:
смещение часового пояса, не null

withOffsetSameLocal

public OffsetDateTime withOffsetSameLocal(ZoneOffset offset)

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

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

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

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

Parameters:
offset - смещение часового пояса, на которое следует изменить, не null
Returns:
объект OffsetDateTime на основе этой даты и времени с запрошенным смещением, не null

withOffsetSameInstant

public OffsetDateTime withOffsetSameInstant(ZoneOffset offset)

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

Этот метод возвращает объект с указанным ZoneOffset и LocalDateTime скорректированным на разницу между двумя смещениями. Это приведет к тому, что старый и новый объекты будут представлять одно и то же мгновение. Это полезно для нахождения локального времени в другом часовом поясе. Например, если это время представляет 2007-12-03T10:30+02:00 и указанное смещение - +03:00, тогда этот метод вернет 2007-12-03T11:30+03:00.

Чтобы изменить смещение без корректировки локального времени, используйте withOffsetSameLocal(java.time.ZoneOffset).

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

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

toLocalDateTime

public LocalDateTime toLocalDateTime()

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

Возвращает LocalDateTime с тем же годом, месяцем, днём и временем, что и у этой даты и времени.

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

toLocalDate

public LocalDate toLocalDate()

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

Возвращает LocalDate с тем же годом, месяцем и днём, что и у этой даты и времени.

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

getYear

public int getYear()

Получает поле года.

Этот метод возвращает примитивное значение int для года.

Год, возвращаемый этим методом, является пролептическим в соответствии с get(YEAR). Чтобы получить год эры, используйте get(YEAR_OF_ERA).

Возвращает:
год, от MIN_YEAR до MAX_YEAR

getMonthValue

public int getMonthValue()

Получает поле месяца года от 1 до 12.

Этот метод возвращает месяц как int от 1 до 12. Код приложения часто становится понятнее, если использовать перечисление Month, вызывая getMonth().

Возвращает:
месяц года, от 1 до 12
См. также:
getMonth()

getMonth

public Month getMonth()

Получает поле месяца года, используя перечисление Month.

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

Возвращает:
месяц года, не null
См. также:
getMonthValue()

getDayOfMonth

public int getDayOfMonth()

Получает поле дня месяца.

Этот метод возвращает примитивное int значение для дня месяца.

Возвращает:
день месяца, от 1 до 31

getDayOfYear

public int getDayOfYear()

Получает поле дня года.

Этот метод возвращает примитивное int значение для дня года.

Возвращает:
день года, от 1 до 365, или 366 в високосный год

getDayOfWeek

public DayOfWeek getDayOfWeek()

Получает поле дня недели, которое является перечислением DayOfWeek.

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

Дополнительная информация может быть получена из DayOfWeek. Это включает текстовые имена значений.

Возвращает:
день недели, не 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 OffsetDateTime with(TemporalAdjuster adjuster)

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

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

Простой корректировщик может просто установить одно из полей, например, поле года. Более сложный корректировщик может установить дату на последнее число месяца. Выбор общих корректировок представлен в TemporalAdjusters. К ним относятся нахождение "последнего дня месяца" и "следующей среды". Основные классы даты и времени также реализуют интерфейс TemporalAdjuster, такие как Month и MonthDay. Корректировщик отвечает за обработку особых случаев, таких как различные длины месяцев и високосных лет.

Например, этот код возвращает дату последнего дня июля:

import static java.time.Month.*;
  import static java.time.temporal.TemporalAdjusters.*;

  result = offsetDateTime.with(JULY).with(lastDayOfMonth());

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

result = offsetDateTime.with(date);
  result = offsetDateTime.with(time);
  result = offsetDateTime.with(offset);

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

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

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

with

public OffsetDateTime with(TemporalField field,
                           long newValue)

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

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

В некоторых случаях изменение указанного поля может привести к тому, что результирующая дата и время станут недействительными, например, изменение месяца с 31 января на февраль сделает день месяца недействительным. В таких случаях поле отвечает за разрешение даты. Обычно оно выберет предыдущую корректную дату, которая в этом примере будет последним днём февраля.

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

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

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

Другие supported fields будут вести себя в соответствии с соответствующим методом в LocalDateTime. В этом случае смещение не участвует в вычислении и не изменится.

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

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

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

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

withYear

public OffsetDateTime withYear(int year)

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

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

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

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

withMonth

public OffsetDateTime withMonth(int month)

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

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

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

Параметры:
month - месяц года для установки в результате, от 1 (январь) до 12 (декабрь)
Возвращает:
объект OffsetDateTime на основе этой даты и времени с запрошенным месяцем, не null
Исключения:
DateTimeException - если значение месяца года некорректно

withDayOfMonth

public OffsetDateTime withDayOfMonth(int dayOfMonth)

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

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

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

Параметры:
dayOfMonth - день месяца для установки в результате, от 1 до 28-31
Возвращает:
объект OffsetDateTime на основе этой даты и времени с запрошенным днём, не null
Выбрасывает:
DateTimeException - если значение дня месяца недопустимо или день месяца недопустим для месяца и года

withDayOfYear

public OffsetDateTime withDayOfYear(int dayOfYear)

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

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

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

Параметры:
dayOfYear - номер дня в году для установки в результате, от 1 до 365-366
Возвращает:
объект OffsetDateTime на основе этой даты с запрошенным днём, не null
Выбрасывает:
DateTimeException - если значение дня в году недопустимо или день в году недопустим для года

withHour

public OffsetDateTime withHour(int hour)

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

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

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

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

withMinute

public OffsetDateTime withMinute(int minute)

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

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

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

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

withSecond

public OffsetDateTime withSecond(int second)

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

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

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

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

withNano

public OffsetDateTime withNano(int nanoOfSecond)

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

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

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

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

truncatedTo

public OffsetDateTime truncatedTo(TemporalUnit unit)

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

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

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

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

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

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

plus

public OffsetDateTime plus(TemporalAmount amountToAdd)

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

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

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

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

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

plus

public OffsetDateTime plus(long amountToAdd,
                           TemporalUnit unit)

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

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

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

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

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

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

plusYears

public OffsetDateTime plusYears(long years)

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

Этот метод добавляет указанное количество к полю лет в три шага:

  1. Добавить введённые годы к полю год
  2. Проверить, является ли полученная дата недопустимой
  3. Если необходимо, скорректировать день месяца до последнего допустимого дня

Например, 2008-02-29 (високосный год) плюс один год приведет к недопустимой дате 2009-02-29 (невисокосный год). Вместо возвращения недопустимого результата, вместо этого выбирается последний допустимый день месяца, 2009-02-28.

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

Параметры:
years - годы для добавления, могут быть отрицательными
Возвращает:
объект OffsetDateTime на основе этой даты и времени с добавленными годами, не null
Выбрасывает:
DateTimeException - если результат выходит за поддерживаемый диапазон дат

plusMonths

public OffsetDateTime plusMonths(long months)

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

Этот метод добавляет указанное количество к полю месяца в три шага:

  1. Добавить введённые месяцы к полю месяц
  2. Проверить, является ли полученная дата недопустимой
  3. Если необходимо, скорректировать день месяца до последнего допустимого дня

Например, 2007-03-31 плюс один месяц приведет к недопустимой дате 2007-04-31. Вместо возвращения недопустимого результата, вместо этого выбирается последний допустимый день месяца, 2007-04-30.

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

Параметры:
months - месяцы для добавления, могут быть отрицательными
Возвращает:
объект OffsetDateTime на основе этой даты и времени с добавленными месяцами, не null
Выбрасывает:
DateTimeException - если результат выходит за поддерживаемый диапазон дат

plusWeeks

public OffsetDateTime plusWeeks(long weeks)

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

Этот метод добавляет указанное количество недель к полю дни, увеличивая поля месяц и год при необходимости, чтобы результат оставался корректным. Результат будет недопустимым только в случае превышения максимального/минимального года.

Например, 2008-12-31 плюс одна неделя приведет к 2009-01-07.

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

Параметры:
weeks - недели для добавления, могут быть отрицательными
Возвращает:
объект OffsetDateTime на основе этой даты и времени с добавленными неделями, не null
Выбрасывает:
DateTimeException - если результат выходит за поддерживаемый диапазон дат

plusDays

public OffsetDateTime plusDays(long days)

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

Этот метод добавляет указанное количество к полю «дни», увеличивая поля «месяц» и «год» по мере необходимости, чтобы результат оставался допустимым. Результат недопустим только в том случае, если превышен максимальный/минимальный год.

Например, 31 декабря 2008 года плюс один день даст 1 января 2009 года.

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

Параметры:
days - количество дней для добавления, может быть отрицательным
Возвращает:
OffsetDateTime, основанный на этой дате и времени с добавленными днями, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон дат

plusHours

public OffsetDateTime plusHours(long hours)

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

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

Параметры:
hours - количество часов для добавления, может быть отрицательным
Возвращает:
OffsetDateTime, основанный на этой дате и времени с добавленными часами, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон дат

plusMinutes

public OffsetDateTime plusMinutes(long minutes)

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

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

Параметры:
minutes - количество минут для добавления, может быть отрицательным
Возвращает:
OffsetDateTime, основанный на этой дате и времени с добавленными минутами, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон дат

plusSeconds

public OffsetDateTime plusSeconds(long seconds)

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

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

Параметры:
seconds - количество секунд для добавления, может быть отрицательным
Возвращает:
OffsetDateTime, основанный на этой дате и времени с добавленными секундами, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон дат

plusNanos

public OffsetDateTime plusNanos(long nanos)

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

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

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

minus

public OffsetDateTime minus(TemporalAmount amountToSubtract)

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

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

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

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

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

minus

public OffsetDateTime minus(long amountToSubtract,
                            TemporalUnit unit)

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

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

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

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

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

minusYears

public OffsetDateTime minusYears(long years)

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

Этот метод вычитает указанное количество из поля «годы» в трех шагах:

  1. Вычесть введённые годы из поля «год»
  2. Проверить, является ли результирующая дата недопустимой
  3. При необходимости скорректировать день месяца до последнего допустимого дня

Например, 29 февраля 2008 года (високосный год) минус один год даст недопустимую дату 29 февраля 2009 года (невисокосный год). Вместо возвращения недопустимого результата, вместо этого выбирается последний допустимый день месяца, 28 февраля 2009 года.

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

Параметры:
years - количество лет для вычитания, может быть отрицательным
Возвращает:
OffsetDateTime, основанный на этой дате и времени с вычтенными годами, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон дат

minusMonths

public OffsetDateTime minusMonths(long months)

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

Этот метод вычитает указанное количество из поля «месяцы» в трех шагах:

  1. Вычесть введённые месяцы из поля «месяц»
  2. Проверить, является ли результирующая дата недопустимой
  3. При необходимости скорректировать день месяца до последнего допустимого дня

Например, 31 марта 2007 года минус один месяц даст недопустимую дату 31 апреля 2007 года. Вместо возвращения недопустимого результата, вместо этого выбирается последний допустимый день месяца, 30 апреля 2007 года.

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

Параметры:
months - количество месяцев для вычитания, может быть отрицательным
Возвращает:
OffsetDateTime, основанный на этой дате и времени с вычтенными месяцами, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон дат

minusWeeks

public OffsetDateTime minusWeeks(long weeks)

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

Этот метод вычитает указанное количество недель из поля «дни», уменьшая поля «месяц» и «год» по мере необходимости, чтобы результат оставался допустимым. Результат недопустим только в том случае, если превышен максимальный/минимальный год.

Например, 31 декабря 2008 года минус одна неделя даст 7 января 2009 года.

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

Параметры:
weeks - количество недель для вычитания, может быть отрицательным
Возвращает:
OffsetDateTime, основанный на этой дате и времени с вычтенными неделями, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон дат

minusDays

public OffsetDateTime minusDays(long days)

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

Этот метод вычитает указанное количество из поля «дни», уменьшая поля «месяц» и «год» по мере необходимости, чтобы результат оставался допустимым. Результат недопустим только в том случае, если превышен максимальный/минимальный год.

Например, 31 декабря 2008 года минус один день даст 1 января 2009 года.

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

Параметры:
days - количество дней для вычитания, может быть отрицательным
Возвращает:
OffsetDateTime, основанный на этой дате и времени с вычтенными днями, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон дат

minusHours

public OffsetDateTime minusHours(long hours)

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

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

Параметры:
hours - количество часов для вычитания, может быть отрицательным
Возвращает:
OffsetDateTime, основанный на этой дате и времени с вычтенными часами, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон дат

minusMinutes

public OffsetDateTime minusMinutes(long minutes)

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

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

Параметры:
minutes - количество минут для вычитания, может быть отрицательным
Возвращает:
OffsetDateTime, основанный на этой дате и времени с вычтенными минутами, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон дат

minusSeconds

public OffsetDateTime minusSeconds(long seconds)

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

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

Параметры:
seconds - количество секунд для вычитания, может быть отрицательным
Возвращает:
OffsetDateTime, основанный на этой дате и времени с вычтенными секундами, не null
Исключения:
DateTimeException - если результат выходит за поддерживаемый диапазон дат

minusNanos

public OffsetDateTime minusNanos(long nanos)

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

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

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

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.EPOCH_DAY, ChronoField.NANO_OF_DAY и ChronoField.OFFSET_SECONDS в качестве полей.

В большинстве случаев яснее использовать обратный порядок вызовов, используя Temporal.with(TemporalAdjuster):

// these two lines are equivalent, but the second approach is recommended
   temporal = thisOffsetDateTime.adjustInto(temporal);
   temporal = temporal.with(thisOffsetDateTime);

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

Определено в:
adjustInto в интерфейсе TemporalAdjuster
Параметры:
temporal - целевой объект для настройки, не null
Возвращает:
настроенный объект, не null
Исключения:
DateTimeException - если настройка невозможна
ArithmeticException - если произошло переполнение числовых значений

until

public long until(Temporal endExclusive,
                  TemporalUnit unit)

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

Это вычисляет количество времени между двумя объектами OffsetDateTime в терминах одного TemporalUnit. Начальная и конечная точки — это this и указанная дата и время. Результат будет отрицательным, если конец находится до начала. Например, количество дней между двумя датами и временем можно вычислить с использованием startDateTime.until(endDateTime, DAYS).

Temporal , переданное этому методу, преобразуется в OffsetDateTime с использованием from(TemporalAccessor). Если смещение отличается между двумя датами и временем, указанная конечная дата и время нормализуются так, чтобы иметь то же смещение, что и эта дата и время.

Вычисление возвращает целое число, представляющее количество полных единиц между двумя датами и временем. Например, количество месяцев между 2012-06-15T00:00Z и 2012-08-14T23:59Z будет только один месяц, так как до двух месяцев не хватает одной минуты.

Есть два эквивалентных способа использования этого метода. Первый - вызвать этот метод. Второй - использовать TemporalUnit.between(Temporal, Temporal):

// these two lines are equivalent
   amount = start.until(end, MONTHS);
   amount = MONTHS.between(start, end);
Выбор следует делать на основе того, что делает код более читаемым.

Вычисление реализовано в этом методе для ChronoUnit. Поддерживаются единицы NANOS, MICROS, MILLIS, SECONDS, MINUTES, HOURS и HALF_DAYS, DAYS, WEEKS, MONTHS, YEARS, DECADES, CENTURIES, MILLENNIA и ERAS. Другие значения ChronoUnit приведут к исключению.

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

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

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

format

public String format(DateTimeFormatter formatter)

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

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

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

atZoneSameInstant

public ZonedDateTime atZoneSameInstant(ZoneId zone)

Объединяет эту дату и время с часовым поясом, создавая ZonedDateTime, гарантируя, что результат имеет тот же момент времени.

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

Для попытки сохранить значения полей используйте atZoneSimilarLocal(ZoneId). Для использования смещения в качестве идентификатора часового пояса используйте toZonedDateTime().

Параметры:
zone - используемый часовой пояс, не null
Возвращает:
объект zoned date-time, сформированный из этой даты и времени, не null

atZoneSimilarLocal

public ZonedDateTime atZoneSimilarLocal(ZoneId zone)

Объединяет эту дату и время с часовым поясом, создавая ZonedDateTime, пытаясь сохранить ту же локальную дату и время.

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

Правила часового пояса, такие как летнее время, означают, что не каждое время на локальной временной линии существует. Если локальная дата и время находятся в разрыве или наложении в соответствии с правилами, используется решатель для определения результирующего локального времени и смещения. Этот метод использует ZonedDateTime.ofLocal(LocalDateTime, ZoneId, ZoneOffset) для сохранения смещения из этого экземпляра, если это возможно.

Более точный контроль над разрывами и наложениями доступен двумя способами. Если вам просто нужно использовать более позднее смещение при наложениях, вызовите ZonedDateTime.withLaterOffsetAtOverlap() сразу после этого метода.

Для создания объекта zoned date-time в тот же момент времени независимо от локальной временной линии используйте atZoneSameInstant(ZoneId). Для использования смещения в качестве идентификатора часового пояса используйте toZonedDateTime().

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

toOffsetTime

public OffsetTime toOffsetTime()

Преобразует эту дату и время в OffsetTime.

Возвращает время со смещением с тем же локальным временем и смещением.

Возвращает:
объект OffsetTime, представляющий время и смещение, не null

toZonedDateTime

public ZonedDateTime toZonedDateTime()

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

Создаёт максимально простой ZonedDateTime с использованием смещения в качестве идентификатора часового пояса.

Для управления используемым часовым поясом см. atZoneSameInstant(ZoneId) и atZoneSimilarLocal(ZoneId).

Возвращает:
объект zoned date-time, представляющий ту же локальную дату и время и смещение, не null

toInstant

public Instant toInstant()

Преобразует эту дату и время в Instant.

Возвращает Instant, представляющий ту же точку на временной шкале, что и эта дата и время.

Возвращает:
объект Instant, представляющий тот же момент времени, не null

toEpochSecond

public long toEpochSecond()

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

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

Возвращает:
количество секунд с эпохи 1970-01-01T00:00:00Z

compareTo

public int compareTo(OffsetDateTime other)

Сравнивает данную дату и время с другой датой и временем.

Сравнение основано на мгновении времени, а затем на локальной дате и времени. Оно соответствует «совпадению», как определено в Comparable.

Например, порядок компаратора следующий:

  1. 2008-12-03T10:30+01:00
  2. 2008-12-03T11:00+01:00
  3. 2008-12-03T12:00+02:00
  4. 2008-12-03T11:30+01:00
  5. 2008-12-03T12:00+01:00
  6. 2008-12-03T12:30+01:00
Значения #2 и #3 представляют одно и то же мгновение на временной шкале. Когда два значения представляют одно и то же мгновение, сравнивается локальное время, чтобы отличить их. Этот шаг необходим для обеспечения согласованности порядка со equals().
Определено в:
compareTo в интерфейсе Comparable<OffsetDateTime>
Параметры:
other - другая дата и время для сравнения, не null
Возвращает:
значение компаратора, отрицательное, если меньше, положительное, если больше

isAfter

public boolean isAfter(OffsetDateTime other)

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

Этот метод отличается от сравнения в compareTo(java.time.OffsetDateTime) и equals(java.lang.Object) тем, что сравнивает только мгновение времени. Это эквивалентно использованию dateTime1.toInstant().isAfter(dateTime2.toInstant());.

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

isBefore

public boolean isBefore(OffsetDateTime other)

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

Этот метод отличается от сравнения в compareTo(java.time.OffsetDateTime) тем, что сравнивает только мгновение времени. Это эквивалентно использованию dateTime1.toInstant().isBefore(dateTime2.toInstant());.

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

isEqual

public boolean isEqual(OffsetDateTime other)

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

Этот метод отличается от сравнения в compareTo(java.time.OffsetDateTime) и equals(java.lang.Object) тем, что сравнивает только мгновение времени. Это эквивалентно использованию dateTime1.toInstant().equals(dateTime2.toInstant());.

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

equals

public boolean equals(Object obj)

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

Сравнение основано на локальной дате и времени и смещении. Для сравнения одинакового мгновения времени на временной шкале используйте isEqual(java.time.OffsetDateTime). Сравниваются только объекты типа OffsetDateTime, другие типы возвращают false.

Переопределяет:
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, например, 2007-12-03T10:15:30+01:00.

Вывод будет одним из следующих форматов ISO-8601:

  • uuuu-MM-dd'T'HH:mmXXXXX
  • uuuu-MM-dd'T'HH:mm:ssXXXXX
  • uuuu-MM-dd'T'HH:mm:ss.SSSXXXXX
  • uuuu-MM-dd'T'HH:mm:ss.SSSSSSXXXXX
  • uuuu-MM-dd'T'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