Класс ZonedDateTime
- Все реализуемые интерфейсы:
-
Serializable,Comparable<ChronoZonedDateTime<?>>,ChronoZonedDateTime<LocalDate>,Temporal,TemporalAccessor
public final class ZonedDateTime extends Object implements Temporal, ChronoZonedDateTime<LocalDate>, Serializable
2007-12-03T10:15:30+01:00 Europe/Paris. ZonedDateTime — это неизменяемое представление даты и времени с часовым поясом. Этот класс хранит все поля даты и времени с точностью до наносекунд, а также часовой пояс, с использованием смещения часового пояса для обработки неоднозначных локальных дат и времени. Например, значение «2 октября 2007 года в 13:45:30.123456789 +02:00 в часовом поясе Europe/Paris» может быть сохранено в ZonedDateTime.
Этот класс обрабатывает преобразование из локальной временной шкалы LocalDateTime во временную шкалу мгновенных моментов времени Instant. Разница между двумя временными шкалами — это смещение от UTC/Гринвича, представленное ZoneOffset.
Преобразование между двумя временными шкалами включает вычисление смещения с использованием rules, доступного из ZoneId. Получение смещения для мгновенного момента времени просто, так как для каждого мгновенного момента времени существует ровно одно допустимое смещение. В отличие от этого, получение смещения для локальной даты и времени не так просто. Существует три случая:
- Нормальный случай, с одним допустимым смещением. В подавляющем большинстве случаев применяется нормальный случай, когда для локальной даты и времени существует только одно допустимое смещение.
- Разрыв, с нулевыми допустимыми смещениями. Это происходит, когда часы переходят вперёд, обычно из-за весеннего перехода на летнее время («зима» → «лето»). В разрыве существуют значения локальной даты и времени без допустимого смещения.
- Перекрытие, с двумя допустимыми смещениями. Это происходит, когда часы переводятся назад, обычно из-за осеннего перехода на зимнее время («лето» → «зима»). В перекрытии существуют значения локальной даты и времени с двумя допустимыми смещениями.
Любой метод, который прямо или косвенно преобразует локальную дату и время во мгновенный момент времени, получая смещение, потенциально может быть сложным.
Для разрывов общая стратегия заключается в том, что если локальная дата и время попадают в середину разрыва, то результирующее время с часовым поясом будет иметь локальную дату и время, сдвинутую вперёд на длительность разрыва, в результате чего получится время в более позднем смещении, обычно «летнее» время.
Для перекрытий общая стратегия заключается в том, что если локальная дата и время попадают в середину перекрытия, то предыдущее смещение будет сохранено. Если нет предыдущего смещения или предыдущее смещение недействительно, то используется более раннее смещение, обычно «летнее» время. Два дополнительных метода, withEarlierOffsetAtOverlap() и withLaterOffsetAtOverlap(), помогают управлять случаем перекрытия.
С точки зрения дизайна, этот класс следует рассматривать в первую очередь как комбинацию LocalDateTime и ZoneId. ZoneOffset является важным, но вторичным элементом информации, используемым для обеспечения того, что класс представляет мгновенный момент времени, особенно во время перекрытия летнего времени.
Это класс на основе значений; программисты должны рассматривать экземпляры, которые равны, как взаимозаменяемые и не должны использовать экземпляры для синхронизации, иначе могут возникнуть непредсказуемые последствия. Например, в будущих версиях синхронизация может потерпеть неудачу. Для сравнения следует использовать метод equals.
- Требования к реализации:
- Объект
ZonedDateTimeсодержит состояние, эквивалентное трём отдельным объектам:LocalDateTime,ZoneIdи разрешённоеZoneOffset. Смещение и локальная дата-время используются для определения мгновенного момента времени при необходимости. Идентификатор часового пояса используется для получения правил, определяющих, как и когда смещение изменяется. Смещение не может быть произвольно установлено, так как часовой пояс контролирует, какие смещения допустимы.Этот класс неизменяемый и потокобезопасный.
- С:
- 1.8
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Проверяет, равна ли эта дата-время другой дате-времени. |
String |
format |
Форматирует эту дату-время с использованием указанного форматера. |
static ZonedDateTime |
from |
Получает экземпляр ZonedDateTime из временного объекта. |
int |
get |
Получает значение указанного поля из этой даты-времени как int. |
int |
getDayOfMonth() |
Получает поле дня месяца. |
DayOfWeek |
getDayOfWeek() |
Получает поле дня недели, которое является перечислением DayOfWeek. |
int |
getDayOfYear() |
Получает поле дня года. |
int |
getHour() |
Получает поле часа дня. |
long |
getLong |
Получает значение указанного поля из этой даты-времени как long. |
int |
getMinute() |
Получает поле минуты часа. |
Month |
getMonth() |
Получает поле месяца года, используя перечисление Month. |
int |
getMonthValue() |
Получает поле месяца года от 1 до 12. |
int |
getNano() |
Получает поле наносекунд. |
ZoneOffset |
getOffset() |
Получает смещение зоны, например, '+01:00'. |
int |
getSecond() |
Получает поле секунды минуты. |
int |
getYear() |
Получает поле года. |
ZoneId |
getZone() |
Получает часовой пояс, например, 'Europe/Paris'. |
int |
hashCode() |
Хеш-код для этой даты-времени. |
boolean |
isSupported |
Проверяет, поддерживается ли указанное поле. |
boolean |
isSupported |
Проверяет, поддерживается ли указанная единица. |
ZonedDateTime |
minus |
Возвращает копию этой даты-времени с вычтенным указанным значением. |
ZonedDateTime |
minus |
Возвращает копию этой даты-времени с вычтенным указанным значением. |
ZonedDateTime |
minusDays |
Возвращает копию этого ZonedDateTime с вычтенным указанным количеством дней. |
ZonedDateTime |
minusHours |
Возвращает копию этого ZonedDateTime с вычтенным указанным количеством часов. |
ZonedDateTime |
minusMinutes |
Возвращает копию этого ZonedDateTime с вычтенным указанным количеством минут. |
ZonedDateTime |
minusMonths |
Возвращает копию этого ZonedDateTime с вычтенным указанным количеством месяцев. |
ZonedDateTime |
minusNanos |
Возвращает копию этого ZonedDateTime с вычтенным указанным количеством наносекунд. |
ZonedDateTime |
minusSeconds |
Возвращает копию этого ZonedDateTime с вычтенным указанным количеством секунд. |
ZonedDateTime |
minusWeeks |
Возвращает копию этого ZonedDateTime с вычтенным указанным количеством недель. |
ZonedDateTime |
minusYears |
Возвращает копию этого ZonedDateTime с вычтенным указанным количеством лет. |
static ZonedDateTime |
now() |
Получает текущую дату-время из системных часов в часовом поясе по умолчанию. |
static ZonedDateTime |
now |
Получает текущую дату-время из указанных часов. |
static ZonedDateTime |
now |
Получает текущую дату-время из системных часов в указанном часовом поясе. |
static ZonedDateTime |
of |
Получает экземпляр ZonedDateTime из года, месяца, дня, часа, минуты, секунды, наносекунды и часового пояса. |
static ZonedDateTime |
of |
Получает экземпляр ZonedDateTime из локальной даты и времени. |
static ZonedDateTime |
of |
Получает экземпляр ZonedDateTime из локальной даты-времени. |
static ZonedDateTime |
ofInstant |
Получает экземпляр ZonedDateTime из Instant. |
static ZonedDateTime |
ofInstant |
Получает экземпляр ZonedDateTime из момента, образованного объединением локальной даты-времени и смещения. |
static ZonedDateTime |
ofLocal |
Получает экземпляр ZonedDateTime из локальной даты-времени, используя предпочтительное смещение, если это возможно. |
static ZonedDateTime |
ofStrict |
Получает экземпляр ZonedDateTime, строго проверяя сочетание локальной даты-времени, смещения и идентификатора зоны. |
static ZonedDateTime |
parse |
Получает экземпляр ZonedDateTime из текстовой строки, такой как 2007-12-03T10:15:30+01:00[Europe/Paris]. |
static ZonedDateTime |
parse |
Получает экземпляр ZonedDateTime из текстовой строки с использованием определенного форматера. |
ZonedDateTime |
plus |
Возвращает копию этой даты-времени с добавленным указанным значением. |
ZonedDateTime |
plus |
Возвращает копию этой даты-времени с добавленным указанным значением. |
ZonedDateTime |
plusDays |
Возвращает копию этого ZonedDateTime с добавленным указанным количеством дней. |
ZonedDateTime |
plusHours |
Возвращает копию этого ZonedDateTime с добавленным указанным количеством часов. |
ZonedDateTime |
plusMinutes |
Возвращает копию этого ZonedDateTime с добавленным указанным количеством минут. |
ZonedDateTime |
plusMonths |
Возвращает копию этого ZonedDateTime с добавленным указанным количеством месяцев. |
ZonedDateTime |
plusNanos |
Возвращает копию этого ZonedDateTime с добавленным указанным количеством наносекунд. |
ZonedDateTime |
plusSeconds |
Возвращает копию этого ZonedDateTime с добавленным указанным количеством секунд. |
ZonedDateTime |
plusWeeks |
Возвращает копию этого ZonedDateTime с добавленным указанным количеством недель. |
ZonedDateTime |
plusYears |
Возвращает копию этого ZonedDateTime с добавленным указанным количеством лет. |
<R> R |
query |
Запрашивает эту дату-время с использованием указанного запроса. |
ValueRange |
range |
Получает диапазон допустимых значений для указанного поля. |
LocalDate |
toLocalDate() |
Получает LocalDate часть этой даты-времени. |
LocalDateTime |
toLocalDateTime() |
Получает LocalDateTime часть этой даты-времени. |
LocalTime |
toLocalTime() |
Получает LocalTime часть этой даты-времени. |
OffsetDateTime |
toOffsetDateTime() |
Преобразует эту дату-время в OffsetDateTime. |
String |
toString() |
Выводит эту дату-время как String, например, 2007-12-03T10:15:30+01:00[Europe/Paris]. |
ZonedDateTime |
truncatedTo |
Возвращает копию этого ZonedDateTime с усеченным временем. |
long |
until |
Вычисляет количество времени до другой даты и времени в указанных единицах. |
ZonedDateTime |
with |
Возвращает скорректированную копию текущей даты и времени. |
ZonedDateTime |
with |
Возвращает копию текущей даты и времени с указанным полем, установленным на новое значение. |
ZonedDateTime |
withDayOfMonth |
Возвращает копию этого ZonedDateTime с изменённым днём месяца. |
ZonedDateTime |
withDayOfYear |
Возвращает копию этого ZonedDateTime с изменённым номером дня года. |
ZonedDateTime |
withEarlierOffsetAtOverlap() |
Возвращает копию текущей даты и времени, изменяя смещение часового пояса на более раннее из двух допустимых смещений при перекрытии местного временного интервала. |
ZonedDateTime |
withFixedOffsetZone() |
Возвращает копию текущей даты и времени со смещением часового пояса, установленным на указанное смещение. |
ZonedDateTime |
withHour |
Возвращает копию этого ZonedDateTime с изменённым часом дня. |
ZonedDateTime |
withLaterOffsetAtOverlap() |
Возвращает копию текущей даты и времени, изменяя смещение часового пояса на более позднее из двух допустимых смещений при перекрытии местного временного интервала. |
ZonedDateTime |
withMinute |
Возвращает копию этого ZonedDateTime с изменённой минутой часа. |
ZonedDateTime |
withMonth |
Возвращает копию этого ZonedDateTime с изменённым месяцем года. |
ZonedDateTime |
withNano |
Возвращает копию этого ZonedDateTime с изменённым наносекундами секунды. |
ZonedDateTime |
withSecond |
Возвращает копию этого ZonedDateTime с изменённой секундой минуты. |
ZonedDateTime |
withYear |
Возвращает копию этого ZonedDateTime с изменённым годом. |
ZonedDateTime |
withZoneSameInstant |
Возвращает копию текущей даты и времени в другом часовом поясе, сохраняя момент времени. |
ZonedDateTime |
withZoneSameLocal |
Возвращает копию текущей даты и времени в другом часовом поясе, сохраняя локальное время, если это возможно. |
Методы, объявленные в классе java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе java.time.chrono.ChronoZonedDateTime
compareTo, getChronology, isAfter, isBefore, isEqual, toEpochSecond, toInstant
Краткое описание методов
now
public static ZonedDateTime now()
Это будет запрос к system clock в часовом поясе по умолчанию для получения текущей даты и времени. Зона и смещение будут установлены на основе часового пояса в часах.
Использование этого метода предотвратит возможность использования альтернативных часов для тестирования, поскольку часы жестко закодированы.
- Возвращает:
- текущую дату и время с использованием системных часов, не null
now
public static ZonedDateTime now(ZoneId zone)
Это будет запрос к system clock для получения текущей даты и времени. Указание часового пояса позволяет избежать зависимости от часового пояса по умолчанию. Смещение будет рассчитано из указанного часового пояса.
Использование этого метода предотвратит возможность использования альтернативных часов для тестирования, поскольку часы жестко закодированы.
- Параметры:
-
zone- идентификатор зоны, который нужно использовать, не null - Возвращает:
- текущую дату и время с использованием системных часов, не null
now
public static ZonedDateTime now(Clock clock)
Это будет запрос к указанным часам для получения текущей даты и времени. Зона и смещение будут установлены на основе часового пояса в часах.
Использование этого метода позволяет использовать альтернативные часы для тестирования. Альтернативные часы могут быть введены с помощью dependency injection.
- Параметры:
-
clock- часы, которые нужно использовать, не null - Возвращает:
- текущую дату и время, не null
of
public static ZonedDateTime of(LocalDate date, LocalTime time, ZoneId zone)
ZonedDateTime из локальной даты и времени. Это создает зонированное время, максимально точно соответствующее введенной локальной дате и времени. Правила часовых поясов, такие как летнее время, означают, что не каждая локальная дата и время действительны для указанной зоны, поэтому локальная дата и время могут быть скорректированы.
Локальная дата и время сначала объединяются для формирования локальной даты и времени. Затем локальная дата и время преобразуются в единственный момент на временной шкале. Это достигается путем поиска допустимого смещения от UTC/Гринвича для локальной даты и времени, как определено в rules идентификатора зоны.
В большинстве случаев существует только одно допустимое смещение для локальной даты и времени. В случае перекрытия, когда часы переводятся назад, есть два допустимых смещения. Этот метод использует более раннее смещение, обычно соответствующее «лету».
В случае разрыва, когда часы переводятся вперед, допустимого смещения нет. Вместо этого локальная дата и время корректируются, чтобы быть позже на длину разрыва. Для типичного изменения летнего времени на один час локальная дата и время будут перенесены на один час позже в смещение, обычно соответствующее «лету».
- Параметры:
-
date- локальная дата, не null -
time- локальное время, не null -
zone- часовой пояс, не null - Возвращает:
- смещенное время, не null
of
public static ZonedDateTime of(LocalDateTime localDateTime, ZoneId zone)
ZonedDateTime из локальной даты и времени. Это создает зонированное время, максимально точно соответствующее введенной локальной дате и времени. Правила часовых поясов, такие как летнее время, означают, что не каждая локальная дата и время действительны для указанной зоны, поэтому локальная дата и время могут быть скорректированы.
Локальная дата и время преобразуются в единственный момент на временной шкале. Это достигается путем поиска допустимого смещения от UTC/Гринвича для локальной даты и времени, как определено в rules идентификатора зоны.
В большинстве случаев существует только одно допустимое смещение для локальной даты и времени. В случае перекрытия, когда часы переводятся назад, есть два допустимых смещения. Этот метод использует более раннее смещение, обычно соответствующее «лету».
В случае разрыва, когда часы переводятся вперед, допустимого смещения нет. Вместо этого локальная дата и время корректируются, чтобы быть позже на длину разрыва. Для типичного изменения летнего времени на один час локальная дата и время будут перенесены на один час позже в смещение, обычно соответствующее «лету».
- Параметры:
-
localDateTime- локальная дата и время, не null -
zone- часовой пояс, не null - Возвращает:
- зонированное время, не null
of
public static ZonedDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond, ZoneId zone)
ZonedDateTime из года, месяца, дня, часа, минуты, секунды, наносекунды и часового пояса. Это создает зонированное время, максимально точно соответствующее локальной дате и времени семи указанных полей. Правила часовых поясов, такие как летнее время, означают, что не каждая локальная дата и время действительны для указанной зоны, поэтому локальная дата и время могут быть скорректированы.
Локальная дата и время преобразуются в единственный момент на временной шкале. Это достигается путем поиска допустимого смещения от UTC/Гринвича для локальной даты и времени, как определено в rules идентификатора зоны.
В большинстве случаев существует только одно допустимое смещение для локальной даты и времени. В случае перекрытия, когда часы переводятся назад, есть два допустимых смещения. Этот метод использует более раннее смещение, обычно соответствующее «лету».
В случае разрыва, когда часы переводятся вперед, допустимого смещения нет. Вместо этого локальная дата и время корректируются, чтобы быть позже на длину разрыва. Для типичного изменения летнего времени на один час локальная дата и время будут перенесены на один час позже в смещение, обычно соответствующее «лету».
Этот метод существует в первую очередь для написания тестовых случаев. Нететовый код обычно использует другие методы для создания смещенного времени. 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 -
zone- часовой пояс, не null - Возвращает:
- смещенное время, не null
- Вызывает исключение:
-
DateTimeException- если значение любого поля выходит за пределы диапазона или если день месяца недействителен для месяца и года
ofLocal
public static ZonedDateTime ofLocal(LocalDateTime localDateTime, ZoneId zone, ZoneOffset preferredOffset)
ZonedDateTime из локальной даты и времени, используя предпочтительное смещение, если это возможно. Локальная дата и время преобразуются в единственный момент на временной шкале. Это достигается путем поиска допустимого смещения от UTC/Гринвича для локальной даты и времени, как определено в rules идентификатора зоны.
В большинстве случаев существует только одно допустимое смещение для локальной даты и времени. В случае перекрытия, когда часы переводятся назад, есть два допустимых смещения. Если предпочтительное смещение является одним из допустимых смещений, то оно используется. В противном случае используется более раннее допустимое смещение, обычно соответствующее «лету».
В случае разрыва, когда часы переводятся вперед, допустимого смещения нет. Вместо этого локальная дата и время корректируются, чтобы быть позже на длину разрыва. Для типичного изменения летнего времени на один час локальная дата и время будут перенесены на один час позже в смещение, обычно соответствующее «лету».
- Параметры:
-
localDateTime- локальная дата и время, не null -
zone- часовой пояс, не null -
preferredOffset- смещение зоны, null, если нет предпочтения - Возвращает:
- зонированное время, не null
ofInstant
public static ZonedDateTime ofInstant(Instant instant, ZoneId zone)
ZonedDateTime из Instant. Это создает зонированное время с тем же моментом времени, что и указанный. Вызов ChronoZonedDateTime.toInstant() вернет момент времени, равный тому, который используется здесь.
Преобразование момента времени в зонированное время просто, так как для каждого момента времени существует только одно допустимое смещение.
- Параметры:
-
instant- момент времени, из которого нужно создать время, не null -
zone- часовой пояс, не null - Возвращает:
- зонированное время, не null
- Вызывает исключение:
-
DateTimeException- если результат выходит за пределы поддерживаемого диапазона
ofInstant
public static ZonedDateTime ofInstant(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone)
ZonedDateTime из момента времени, образованного путем объединения локальной даты и времени и смещения. Это создает зонированное время с помощью combining LocalDateTime и ZoneOffset. Эта комбинация однозначно определяет момент времени без неоднозначности.
Преобразование момента времени в зонированное время просто, так как для каждого момента времени существует только одно допустимое смещение. Если допустимое смещение отличается от указанного смещения, то дата и время и смещение зонированного времени будут отличаться от указанных.
Если ZoneId, который будет использоваться, является ZoneOffset, этот метод эквивалентен of(LocalDateTime, ZoneId).
- Параметры:
-
localDateTime- локальная дата и время, не null -
offset- смещение зоны, не null -
zone- часовой пояс, не null - Возвращает:
- зонированное время, не null
ofStrict
public static ZonedDateTime ofStrict(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone)
ZonedDateTime, строго проверяя сочетание локальной даты и времени, смещения и идентификатора зоны. Это создаёт объект даты и времени с учётом зоны, гарантируя, что смещение является допустимым для локальной даты и времени согласно правилам указанной зоны. Если смещение недопустимо, выбрасывается исключение.
- Parameters:
-
localDateTime- локальная дата и время, не null -
offset- смещение зоны, не null -
zone- часовой пояс, не null - Returns:
- объект даты и времени с учётом зоны, не null
- Throws:
-
DateTimeException- если сочетание аргументов недопустимо
from
public static ZonedDateTime from(TemporalAccessor temporal)
ZonedDateTime из объекта временной точки. Это получает объект даты и времени с учётом зоны на основе указанного временного объекта. TemporalAccessor представляет собой произвольный набор информации о дате и времени, который эта фабрика преобразует в экземпляр ZonedDateTime.
Преобразование сначала получит ZoneId из объекта временной точки, переходя к ZoneOffset при необходимости. Затем оно попытается получить Instant, переходя к LocalDateTime при необходимости. Результатом будет либо комбинация ZoneId или ZoneOffset с Instant или LocalDateTime. Реализации разрешено выполнять оптимизации, такие как доступ к тем полям, которые эквивалентны соответствующим объектам.
Этот метод соответствует подписи функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса с помощью ссылки на метод, ZonedDateTime::from.
- Parameters:
-
temporal- временной объект для преобразования, не null - Returns:
- объект даты и времени с учётом зоны, не null
- Throws:
-
DateTimeException- если невозможно преобразовать во временную точкуZonedDateTime - See Also:
parse
public static ZonedDateTime parse(CharSequence text)
ZonedDateTime из текстовой строки, например, 2007-12-03T10:15:30+01:00[Europe/Paris]. Строка должна представлять собой допустимую дату и время, и парсится с помощью DateTimeFormatter.ISO_ZONED_DATE_TIME.
- Parameters:
-
text- текст для парсинга, например, "2007-12-03T10:15:30+01:00[Europe/Paris]", не null - Returns:
- распарсованный объект даты и времени с учётом зоны, не null
- Throws:
-
DateTimeParseException- если текст не может быть распарсен
parse
public static ZonedDateTime parse(CharSequence text, DateTimeFormatter formatter)
ZonedDateTime из текстовой строки с использованием специфического форматера. Текст парсится с использованием форматера, возвращая объект даты и времени.
- Parameters:
-
text- текст для парсинга, не null -
formatter- форматер для использования, не null - Returns:
- распарсованный объект даты и времени с учётом зоны, не null
- Throws:
-
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 -
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:
-
isSupportedin interfaceChronoZonedDateTime<LocalDate> - Specified by:
-
isSupportedin interfaceTemporalAccessor - Parameters:
-
field- поле для проверки, null возвращает false - Returns:
- true, если поле поддерживается этой датой и временем, false, если нет
isSupported
public boolean isSupported(TemporalUnit unit)
Проверяет, можно ли добавить или вычесть указанный интервал из этой даты и времени. Если ложь, то вызов методов 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:
-
isSupportedin interfaceChronoZonedDateTime<LocalDate> - Specified by:
-
isSupportedin interfaceTemporal - 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:
-
rangein interfaceTemporalAccessor - 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 и вызовут UnsupportedTemporalTypeException. Все остальные экземпляры ChronoField вызовут UnsupportedTemporalTypeException.
Если поле не является ChronoField, то результат этого метода получается путём вызова TemporalField.getFrom(TemporalAccessor), передав this в качестве аргумента. Возможность получения значения и то, что оно представляет, определяется полем.
- Указано в:
-
getв интерфейсеTemporalAccessor - Параметры:
-
field- поле для получения, не null - Возвращает:
- значение поля
- Исключения:
-
DateTimeException- если значение для поля получить нельзя или оно находится вне допустимого диапазона для поля -
UnsupportedTemporalTypeException- если поле не поддерживается или диапазон значений превышаетint -
ArithmeticException- если происходит переполнение числовых значений
getLong
public long getLong(TemporalField field)
long. Этот метод запрашивает значение указанного поля из этой даты и времени. Если невозможно вернуть значение (потому что поле не поддерживается или по какой-либо другой причине), выбрасывается исключение.
Если поле является ChronoField, то запрос выполняется здесь. supported fields вернёт допустимые значения, основанные на этой дате и времени. Все остальные экземпляры ChronoField вызовут UnsupportedTemporalTypeException.
Если поле не является ChronoField, то результат этого метода получается путём вызова TemporalField.getFrom(TemporalAccessor), передав this в качестве аргумента. Возможность получения значения и то, что оно представляет, определяется полем.
- Указано в:
-
getLongв интерфейсеChronoZonedDateTime<LocalDate> - Указано в:
-
getLongв интерфейсеTemporalAccessor - Параметры:
-
field- поле для получения, не null - Возвращает:
- значение поля
- Исключения:
-
DateTimeException- если значение для поля получить нельзя -
UnsupportedTemporalTypeException- если поле не поддерживается -
ArithmeticException- если происходит переполнение числовых значений
getOffset
public ZoneOffset getOffset()
Это смещение локальной даты и времени от UTC/Гринвича.
- Указано в:
-
getOffsetв интерфейсеChronoZonedDateTime<LocalDate> - Возвращает:
- смещение часового пояса, не null
withEarlierOffsetAtOverlap
public ZonedDateTime withEarlierOffsetAtOverlap()
Этот метод действует только при наложении локального времени, например, при переходе на летнее время осенью. В этом случае для локальной даты и времени существует два допустимых смещения. Вызов этого метода вернёт объект zoned date-time с меньшим из двух смещений.
Если этот метод вызывается, когда нет наложения, возвращается this.
Этот экземпляр неизменяем и не изменяется этим вызовом метода.
- Указано в:
-
withEarlierOffsetAtOverlapв интерфейсеChronoZonedDateTime<LocalDate> - Возвращает:
- объект
ZonedDateTimeна основе этой даты и времени с меньшим смещением, не null
withLaterOffsetAtOverlap
public ZonedDateTime withLaterOffsetAtOverlap()
Этот метод действует только при наложении локального времени, например, при переходе на летнее время осенью. В этом случае для локальной даты и времени существует два допустимых смещения. Вызов этого метода вернёт объект zoned date-time с большим из двух смещений.
Если этот метод вызывается, когда нет наложения, возвращается this.
Этот экземпляр неизменяем и не изменяется этим вызовом метода.
- Указано в:
-
withLaterOffsetAtOverlapв интерфейсеChronoZonedDateTime<LocalDate> - Возвращает:
- объект
ZonedDateTimeна основе этой даты и времени с большим смещением, не null
getZone
public ZoneId getZone()
Возвращает идентификатор часового пояса. Этот идентификатор определяет часовой пояс rules, определяющий, когда и как меняется смещение от UTC/Гринвича.
Идентификатор часового пояса может быть таким же, как смещение. Если это так, то любые будущие вычисления, такие как сложение или вычитание, не имеют сложных граничных случаев из-за правил часового пояса. См. также withFixedOffsetZone().
- Указано в:
-
getZoneв интерфейсеChronoZonedDateTime<LocalDate> - Возвращает:
- часовой пояс, не null
withZoneSameLocal
public ZonedDateTime withZoneSameLocal(ZoneId zone)
Этот метод изменяет часовой пояс и сохраняет локальную дату и время. Локальная дата и время изменяются только в том случае, если она некорректна для нового часового пояса, определяемая с помощью того же подхода, что и ofLocal(LocalDateTime, ZoneId, ZoneOffset).
Чтобы изменить часовой пояс и скорректировать локальную дату и время, используйте withZoneSameInstant(ZoneId).
Этот экземпляр неизменяем и не изменяется этим вызовом метода.
- Указано в:
-
withZoneSameLocalв интерфейсеChronoZonedDateTime<LocalDate> - Параметры:
-
zone- часовой пояс для изменения, не null - Возвращает:
- объект
ZonedDateTimeна основе этой даты и времени с запрошенным часовым поясом, не null
withZoneSameInstant
public ZonedDateTime withZoneSameInstant(ZoneId zone)
Этот метод изменяет часовой пояс и сохраняет момент времени. Обычно это приводит к изменению локальной даты и времени.
Этот метод основан на сохранении того же момента времени, поэтому разрывы и наложения в локальном временном ряду не влияют на результат.
Чтобы изменить смещение, сохраняя локальное время, используйте withZoneSameLocal(ZoneId).
- Указано в:
-
withZoneSameInstantв интерфейсеChronoZonedDateTime<LocalDate> - Параметры:
-
zone- часовой пояс для изменения, не null - Возвращает:
- объект
ZonedDateTimeна основе этой даты и времени с запрошенным часовым поясом, не null - Исключения:
-
DateTimeException- если результат выходит за поддерживаемый диапазон дат
withFixedOffsetZone
public ZonedDateTime withFixedOffsetZone()
Это возвращает объект zoned date-time, где идентификатор часового пояса такой же, как getOffset(). Локальная дата, время, смещение и момент времени результата будут такими же, как в этом объекте.
Установка даты и времени на фиксированное смещение означает, что любые будущие вычисления, такие как сложение или вычитание, не имеют сложных граничных случаев из-за правил часового пояса. Это также может быть полезно при отправке объекта zoned date-time по сети, так как большинство протоколов, таких как ISO-8601, обрабатывают только смещения, а не идентификаторы часовых поясов, основанных на регионах.
Это эквивалентно ZonedDateTime.of(zdt.toLocalDateTime(), zdt.getOffset()).
- Возвращает:
- объект
ZonedDateTimeс идентификатором часового пояса, установленным на смещение, не null
toLocalDateTime
public LocalDateTime toLocalDateTime()
LocalDateTime этой даты и времени. Это возвращает объект LocalDateTime с тем же годом, месяцем, днём и временем, что и в этой дате и времени.
- Указано в:
-
toLocalDateTimeв интерфейсеChronoZonedDateTime<LocalDate> - Возвращает:
- часть локальной даты и времени этой даты и времени, не null
toLocalDate
public LocalDate toLocalDate()
LocalDate этой даты и времени. Это возвращает объект LocalDate с тем же годом, месяцем и днём, что и в этой дате и времени.
- Указано в:
-
toLocalDateв интерфейсеChronoZonedDateTime<LocalDate> - Возвращает:
- дата этой даты и времени, не null
getYear
public int getYear()
Этот метод возвращает примитивное значение int для года.
Год, возвращаемый этим методом, является пролептическим, как указано в get(YEAR). Чтобы получить год эпохи, используйте get(YEAR_OF_ERA).
- Возвращает:
- год, от MIN_YEAR до MAX_YEAR
getMonthValue
public int getMonthValue()
Этот метод возвращает месяц в виде int от 1 до 12. Код приложения часто становится понятнее, если используется перечисление Month, вызывая getMonth().
- Возвращает:
- месяц года, от 1 до 12
- См. также:
getMonth
public Month getMonth()
Month . Этот метод возвращает перечисление Month для месяца. Это помогает избежать путаницы, что означают значения int. Если вам нужен доступ к примитивному значению int, то перечисление предоставляет int value.
- Возвращает:
- месяц года, не null
- См. также:
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 с теми же часами, минутами, секундами и наносекундами, что и в этом объекте даты и времени.
- Указано в:
-
toLocalTimeв интерфейсеChronoZonedDateTime<LocalDate> - Возвращает:
- часть времени этого объекта даты и времени, не 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 ZonedDateTime with(TemporalAdjuster adjuster)
Этот метод возвращает ZonedDateTime, основанный на этом, с изменённым значением даты и времени. Корректировка происходит с помощью указанной стратегии корректировки. Прочитайте документацию корректировщика, чтобы понять, какие изменения будут внесены.
Простой корректировщик может просто установить одно из полей, например, год. Более сложный корректировщик может установить дату на последнее число месяца. Выбор общих корректировок представлен в TemporalAdjusters. К ним относятся поиск "последнего дня месяца" и "следующей среды". Ключевые классы дат и времени также реализуют интерфейс TemporalAdjuster, например, Month и MonthDay. Корректировщик отвечает за обработку особых случаев, таких как переменная длина месяцев и високосные годы.
Например, этот код возвращает дату на последний день июля:
import static java.time.Month.*; import static java.time.temporal.TemporalAdjusters.*; result = zonedDateTime.with(JULY).with(lastDayOfMonth());
Классы LocalDate и LocalTime реализуют TemporalAdjuster, поэтому этот метод может быть использован для изменения даты, времени или смещения:
result = zonedDateTime.with(date); result = zonedDateTime.with(time);
ZoneOffset также реализует TemporalAdjuster, однако использование его в качестве аргумента обычно не имеет эффекта. Смещение ZonedDateTime контролируется в первую очередь часовым поясом. Поэтому изменение смещения обычно не имеет смысла, так как существует только одно допустимое смещение для локального значения даты и времени и часового пояса. Если объект даты и времени с часовым поясом находится в перекрытии летнего времени, то смещение используется для переключения между двумя допустимыми смещениями. Во всех остальных случаях смещение игнорируется.
Результат этого метода получается путем вызова метода TemporalAdjuster.adjustInto(Temporal) на указанном корректировщике, передавая this в качестве аргумента.
Этот экземпляр неизменяем и не затрагивается этим вызовом метода.
- Указано в:
-
withв интерфейсеChronoZonedDateTime<LocalDate> - Указано в:
-
withв интерфейсеTemporal - Параметры:
-
adjuster- используемый корректировщик, не null - Возвращает:
- объект
ZonedDateTimeна основеthisс выполненной корректировкой, не null - Исключения:
-
DateTimeException- если корректировка не может быть выполнена -
ArithmeticException- если произошел переполнение числовых значений
with
public ZonedDateTime with(TemporalField field, long newValue)
Этот метод возвращает ZonedDateTime, основанный на этом, со значением указанного поля, изменённым. Этот метод может быть использован для изменения любого поддерживаемого поля, например, года, месяца или дня месяца. Если невозможно установить значение, потому что поле не поддерживается или по какой-либо другой причине, выбрасывается исключение.
В некоторых случаях изменение указанного поля может привести к тому, что полученное значение даты и времени станет недопустимым, например, изменение месяца с 31 января на февраль сделает день месяца недопустимым. В таких случаях поле отвечает за разрешение даты. Обычно оно выберет предыдущую допустимую дату, которая в данном примере будет последним допустимым днём февраля.
Если поле является ChronoField, то корректировка реализуется здесь.
Поле INSTANT_SECONDS вернёт объект даты и времени с указанным мгновением времени. Часовой пояс и наносекунды останутся без изменений. Результат будет иметь смещение, выведенное из нового мгновения времени и исходного часового пояса. Если новое значение мгновения времени находится за пределами допустимого диапазона, будет выброшено DateTimeException.
Поле OFFSET_SECONDS обычно игнорируется. Смещение ZonedDateTime контролируется в первую очередь часовым поясом. Поэтому изменение смещения обычно не имеет смысла, так как существует только одно допустимое смещение для локального значения даты и времени и часового пояса. Если объект даты и времени с часовым поясом находится в перекрытии летнего времени, то смещение используется для переключения между двумя допустимыми смещениями. Во всех остальных случаях смещение игнорируется. Если новое значение смещения находится за пределами допустимого диапазона, будет выброшено DateTimeException.
Другие supported fields будут вести себя в соответствии с соответствующим методом в LocalDateTime. Часовой пояс не участвует в вычислении и останется без изменений. При преобразовании обратно в ZonedDateTime, если локальное значение даты и времени находится в перекрытии, то смещение сохраняется, если возможно, в противном случае используется более раннее смещение. Если находится в промежутке, локальное значение даты и времени будет скорректировано вперёд на длину промежутка.
Все другие ChronoField экземпляры будут вызывать UnsupportedTemporalTypeException.
Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.adjustInto(Temporal, long) передавая this в качестве аргумента. В этом случае поле определяет, как и нужно ли корректировать мгновение времени.
Этот экземпляр неизменяем и не затрагивается этим вызовом метода.
- Указано в:
-
withв интерфейсеChronoZonedDateTime<LocalDate> - Указано в:
-
withв интерфейсеTemporal - Параметры:
-
field- поле для установки в результате, не null -
newValue- новое значение поля в результате - Возвращает:
- объект
ZonedDateTimeна основеthisс заданным полем, не null - Исключения:
-
DateTimeException- если поле не может быть установлено -
UnsupportedTemporalTypeException- если поле не поддерживается -
ArithmeticException- если произошел переполнение числовых значений
с годом
public ZonedDateTime withYear(int year)
ZonedDateTime с изменённым годом. Эта операция выполняется на локальной временной шкале, changing the year локального времени. Затем это преобразуется обратно в ZonedDateTime, используя идентификатор зоны для получения смещения.
При преобразовании обратно в ZonedDateTime, если локальное время попадает в период перекрытия, то смещение сохраняется, если это возможно, в противном случае используется более раннее смещение. Если попадает в разрыв, локальное время корректируется вперёд на длительность разрыва.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
year- год для установки в результате, от MIN_YEAR до MAX_YEAR - Возвращает:
- a
ZonedDateTimeна основе этого времени с запрошенным годом, не null - Исключения:
-
DateTimeException- если значение года некорректно
с месяцем
public ZonedDateTime withMonth(int month)
ZonedDateTime с изменённым месяцем года. Эта операция выполняется на локальной временной шкале, changing the month локального времени. Затем это преобразуется обратно в ZonedDateTime, используя идентификатор зоны для получения смещения.
При преобразовании обратно в ZonedDateTime, если локальное время попадает в период перекрытия, то смещение сохраняется, если это возможно, в противном случае используется более раннее смещение. Если попадает в разрыв, локальное время корректируется вперёд на длительность разрыва.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
month- месяц года для установки в результате, от 1 (январь) до 12 (декабрь) - Возвращает:
- a
ZonedDateTimeна основе этого времени с запрошенным месяцем, не null - Исключения:
-
DateTimeException- если значение месяца некорректно
с днем месяца
public ZonedDateTime withDayOfMonth(int dayOfMonth)
ZonedDateTime с изменённым днем месяца. Эта операция выполняется на локальной временной шкале, changing the day-of-month локального времени. Затем это преобразуется обратно в ZonedDateTime, используя идентификатор зоны для получения смещения.
При преобразовании обратно в ZonedDateTime, если локальное время попадает в период перекрытия, то смещение сохраняется, если это возможно, в противном случае используется более раннее смещение. Если попадает в разрыв, локальное время корректируется вперёд на длительность разрыва.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
dayOfMonth- день месяца для установки в результате, от 1 до 28-31 - Возвращает:
- a
ZonedDateTimeна основе этого времени с запрошенным днем, не null - Исключения:
-
DateTimeException- если значение дня месяца некорректно или если день месяца некорректен для месяца и года
с днем года
public ZonedDateTime withDayOfYear(int dayOfYear)
ZonedDateTime с изменённым днем года. Эта операция выполняется на локальной временной шкале, changing the day-of-year локального времени. Затем это преобразуется обратно в ZonedDateTime, используя идентификатор зоны для получения смещения.
При преобразовании обратно в ZonedDateTime, если локальное время попадает в период перекрытия, то смещение сохраняется, если это возможно, в противном случае используется более раннее смещение. Если попадает в разрыв, локальное время корректируется вперёд на длительность разрыва.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
dayOfYear- день года для установки в результате, от 1 до 365-366 - Возвращает:
- a
ZonedDateTimeна основе этого времени с запрошенным днем, не null - Исключения:
-
DateTimeException- если значение дня года некорректно или если день года некорректен для года
с часом
public ZonedDateTime withHour(int hour)
ZonedDateTime с изменённым часом. Эта операция выполняется на локальной временной шкале, изменяя время локального времени. Затем это преобразуется обратно в ZonedDateTime, используя идентификатор зоны для получения смещения.
При преобразовании обратно в ZonedDateTime, если локальное время попадает в период перекрытия, то смещение сохраняется, если это возможно, в противном случае используется более раннее смещение. Если попадает в разрыв, локальное время корректируется вперёд на длительность разрыва.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
hour- час для установки в результате, от 0 до 23 - Возвращает:
- a
ZonedDateTimeна основе этого времени с запрошенным часом, не null - Исключения:
-
DateTimeException- если значение часа некорректно
с минутой
public ZonedDateTime withMinute(int minute)
ZonedDateTime с изменённой минутой. Эта операция выполняется на локальной временной шкале, изменяя время локального времени. Затем это преобразуется обратно в ZonedDateTime, используя идентификатор зоны для получения смещения.
При преобразовании обратно в ZonedDateTime, если локальное время попадает в период перекрытия, то смещение сохраняется, если это возможно, в противном случае используется более раннее смещение. Если попадает в разрыв, локальное время корректируется вперёд на длительность разрыва.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
minute- минута для установки в результате, от 0 до 59 - Возвращает:
- a
ZonedDateTimeна основе этого времени с запрошенной минутой, не null - Исключения:
-
DateTimeException- если значение минуты некорректно
со секундой
public ZonedDateTime withSecond(int second)
ZonedDateTime с изменённой секундой. Эта операция выполняется на локальной временной шкале, изменяя время локального времени. Затем это преобразуется обратно в ZonedDateTime, используя идентификатор зоны для получения смещения.
При преобразовании обратно в ZonedDateTime, если локальное время попадает в период перекрытия, то смещение сохраняется, если это возможно, в противном случае используется более раннее смещение. Если попадает в разрыв, локальное время корректируется вперёд на длительность разрыва.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
second- секунда для установки в результате, от 0 до 59 - Возвращает:
- a
ZonedDateTimeна основе этого времени с запрошенной секундой, не null - Исключения:
-
DateTimeException- если значение секунды некорректно
с наносекундой
public ZonedDateTime withNano(int nanoOfSecond)
ZonedDateTime с изменённой наносекундой. Эта операция выполняется на локальной временной шкале, изменяя время локального времени. Затем это преобразуется обратно в ZonedDateTime, используя идентификатор зоны для получения смещения.
При преобразовании обратно в ZonedDateTime, если локальное время попадает в период перекрытия, то смещение сохраняется, если это возможно, в противном случае используется более раннее смещение. Если попадает в разрыв, локальное время корректируется вперёд на длительность разрыва.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
nanoOfSecond- наносекунда для установки в результате, от 0 до 999,999,999 - Возвращает:
- a
ZonedDateTimeна основе этого времени с запрошенной наносекундой, не null - Исключения:
-
DateTimeException- если значение наносекунды некорректно
truncatedTo
public ZonedDateTime truncatedTo(TemporalUnit unit)
ZonedDateTime со срезанным временем. Срезка возвращает копию исходного времени с полями, меньшими, чем указанный параметр, установленные в ноль. Например, срезка с помощью minutes параметра установит поле секунды и наносекунды в ноль.
Параметр должен иметь длительность, которая делится на длительность стандартного дня без остатка. Это включает все предоставленные временные единицы в ChronoUnit и DAYS. Другие единицы вызывают исключение.
Эта операция выполняется на локальной временной шкале, truncating базового локального времени. Затем это преобразуется обратно в ZonedDateTime, используя идентификатор зоны для получения смещения.
При преобразовании обратно в ZonedDateTime, если локальное время попадает в период перекрытия, то смещение сохраняется, если это возможно, в противном случае используется более раннее смещение. Если попадает в разрыв, локальное время корректируется вперёд на длительность разрыва.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
unit- единица для среза, не null - Возвращает:
- a
ZonedDateTimeна основе этого времени со срезанным временем, не null - Исключения:
-
DateTimeException- если срезка невозможна -
UnsupportedTemporalTypeException- если единица не поддерживается
plus
public ZonedDateTime plus(TemporalAmount amountToAdd)
Это возвращает копию , основанную на этой, с добавленным указанным значением. Значение обычно является Period или Duration, но может быть любого другого типа, реализующего интерфейс TemporalAmount.
Вычисление делегируется объекту значения, вызывая TemporalAmount.addTo(Temporal). Реализация значения свободна реализовать сложение любым способом, но обычно она вызывает plus(long, TemporalUnit). Обратитесь к документации реализации значения, чтобы определить, можно ли его успешно добавить.
Этот экземпляр неизменяем и не подвержен воздействию этого вызова метода.
- Specified by:
-
plusв интерфейсеChronoZonedDateTime<LocalDate> - Specified by:
-
plusв интерфейсеTemporal - Parameters:
-
amountToAdd- значение для добавления, не null - Returns:
- копия этой даты и времени с выполненным добавлением, не null
- Throws:
-
DateTimeException- если добавление невозможно -
ArithmeticException- если произошел переполнение числового значения
plus
public ZonedDateTime plus(long amountToAdd, TemporalUnit unit)
Это возвращает копию, основанную на этой, со значением, выраженным в единицах измерения, добавленных к результату. Если невозможно добавить значение, потому что единица измерения не поддерживается или по какой-либо другой причине, генерируется исключение.
Если поле является ChronoUnit, то добавление реализуется здесь. Часовой пояс не участвует в вычислении и не изменится в результате. Вычисление для единиц измерения даты и времени отличается.
Единицы измерения дат работают с локальным временным отрезком. Сначала к локальной дате и времени добавляется период, затем полученный результат преобразуется обратно в дату и время с часовым поясом, используя идентификатор часового пояса. Преобразование использует ofLocal(LocalDateTime, ZoneId, ZoneOffset) со смещением до добавления.
Единицы измерения времени работают с временным отрезком мгновенного времени. Сначала к локальной дате и времени добавляется период, затем полученный результат преобразуется обратно в дату и время с часовым поясом, используя идентификатор часового пояса. Преобразование использует ofInstant(LocalDateTime, ZoneOffset, ZoneId) со смещением до добавления.
Если поле не является единицей измерения времени, то результат этого метода получается путем вызова TemporalUnit.addTo(Temporal, long), передавая this в качестве аргумента. В этом случае единица измерения определяет, как и следует ли выполнять добавление.
Этот экземпляр неизменяем и не подвержен воздействию этого вызова метода.
- Specified by:
-
plusв интерфейсеChronoZonedDateTime<LocalDate> - Specified by:
-
plusв интерфейсеTemporal - Parameters:
-
amountToAdd- значение единицы измерения для добавления к результату, может быть отрицательным -
unit- единица измерения значения для добавления, не null - Returns:
- дата и время, основанные на этой дате и времени с добавленным указанным значением, не null
- Throws:
-
DateTimeException- если добавление невозможно -
UnsupportedTemporalTypeException- если единица измерения не поддерживается -
ArithmeticException- если произошел переполнение числового значения
plusYears
public ZonedDateTime plusYears(long years)
ZonedDateTime с добавленным указанным количеством лет. Это работает с локальным временным отрезком, adding years к локальной дате и времени. Затем полученный результат преобразуется обратно в дату и время с часовым поясом, используя идентификатор часового пояса.
При преобразовании обратно в ZonedDateTime, если локальная дата и время находятся в перекрытии, то смещение сохраняется, если возможно, в противном случае используется более раннее смещение. Если в промежутке, локальная дата и время будут скорректированы вперед на длину промежутка.
Этот экземпляр неизменяем и не подвержен воздействию этого вызова метода.
- Parameters:
-
years- количество лет для добавления, может быть отрицательным - Returns:
- дата и время, основанные на этой дате и времени с добавленными годами, не null
- Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
plusMonths
public ZonedDateTime plusMonths(long months)
ZonedDateTime с добавленным указанным количеством месяцев. Это работает с локальным временным отрезком, adding months к локальной дате и времени. Затем полученный результат преобразуется обратно в дату и время с часовым поясом, используя идентификатор часового пояса.
При преобразовании обратно в ZonedDateTime, если локальная дата и время находятся в перекрытии, то смещение сохраняется, если возможно, в противном случае используется более раннее смещение. Если в промежутке, локальная дата и время будут скорректированы вперед на длину промежутка.
Этот экземпляр неизменяем и не подвержен воздействию этого вызова метода.
- Parameters:
-
months- количество месяцев для добавления, может быть отрицательным - Returns:
- дата и время, основанные на этой дате и времени с добавленными месяцами, не null
- Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
plusWeeks
public ZonedDateTime plusWeeks(long weeks)
ZonedDateTime с добавленным указанным количеством недель. Это работает с локальным временным отрезком, adding weeks к локальной дате и времени. Затем полученный результат преобразуется обратно в дату и время с часовым поясом, используя идентификатор часового пояса.
При преобразовании обратно в ZonedDateTime, если локальная дата и время находятся в перекрытии, то смещение сохраняется, если возможно, в противном случае используется более раннее смещение. Если в промежутке, локальная дата и время будут скорректированы вперед на длину промежутка.
Этот экземпляр неизменяем и не подвержен воздействию этого вызова метода.
- Parameters:
-
weeks- количество недель для добавления, может быть отрицательным - Returns:
- дата и время, основанные на этой дате и времени с добавленными неделями, не null
- Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
plusDays
public ZonedDateTime plusDays(long days)
ZonedDateTime с добавленным указанным количеством дней. Это работает с локальным временным отрезком, adding days к локальной дате и времени. Затем полученный результат преобразуется обратно в дату и время с часовым поясом, используя идентификатор часового пояса.
При преобразовании обратно в ZonedDateTime, если локальная дата и время находятся в перекрытии, то смещение сохраняется, если возможно, в противном случае используется более раннее смещение. Если в промежутке, локальная дата и время будут скорректированы вперед на длину промежутка.
Этот экземпляр неизменяем и не подвержен воздействию этого вызова метода.
- Parameters:
-
days- количество дней для добавления, может быть отрицательным - Returns:
- дата и время, основанные на этой дате и времени с добавленными днями, не null
- Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
plusHours
public ZonedDateTime plusHours(long hours)
ZonedDateTime с добавленным указанным количеством часов. Это работает с временной шкалой мгновенного времени, так что добавление одного часа всегда будет на один час позже. Это может привести к изменению локальной даты и времени на величину, отличную от одного часа. Обратите внимание, что это другой подход, чем тот, который используется для дней, месяцев и лет, поэтому добавление одного дня не равно добавлению 24 часов.
Например, рассмотрим часовой пояс, такой как 'Europe/Paris', где переход на летнее время означает, что местные времена с 02:00 до 02:59 появляются дважды, меняясь со смещением +02:00 летом на +01:00 зимой.
- Добавление одного часа к 01:30+02:00 приведет к 02:30+02:00 (оба летом)
- Добавление одного часа к 02:30+02:00 приведет к 02:30+01:00 (переход с летнего на зимнее время)
- Добавление одного часа к 02:30+01:00 приведет к 03:30+01:00 (оба зимой)
- Добавление трех часов к 01:30+02:00 приведет к 03:30+01:00 (переход с летнего на зимнее время)
Этот экземпляр неизменяем и не подвержен воздействию этого вызова метода.
- Parameters:
-
hours- количество часов для добавления, может быть отрицательным - Returns:
- дата и время, основанные на этой дате и времени с добавленными часами, не null
- Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
plusMinutes
public ZonedDateTime plusMinutes(long minutes)
ZonedDateTime с добавленным указанным количеством минут. Это работает с временной шкалой мгновенного времени, так что добавление одной минуты всегда будет на одну минуту позже. Это может привести к изменению локальной даты и времени на величину, отличную от одной минуты. Обратите внимание, что это другой подход, чем тот, который используется для дней, месяцев и лет.
Этот экземпляр неизменяем и не подвержен воздействию этого вызова метода.
- Parameters:
-
minutes- количество минут для добавления, может быть отрицательным - Returns:
- дата и время, основанные на этой дате и времени с добавленными минутами, не null
- Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
plusSeconds
public ZonedDateTime plusSeconds(long seconds)
ZonedDateTime с указанным количеством добавленных секунд. Это работает с временной шкалой мгновенного времени, таким образом добавление одной секунды всегда будет продолжительностью в одну секунду позже. Это может привести к изменению локального времени на величину, отличную от одной секунды. Обратите внимание, что это другой подход, чем тот, который используется для дней, месяцев и лет.
Этот экземпляр неизменяемый и не затронут этим вызовом метода.
- Parameters:
-
seconds- количество секунд для добавления, может быть отрицательным - Returns:
- a
ZonedDateTimeна основе этой даты и времени с добавленными секундами, не null - Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
plusNanos
public ZonedDateTime plusNanos(long nanos)
ZonedDateTime с указанным количеством добавленных наносекунд. Это работает с временной шкалой мгновенного времени, таким образом добавление одной наносекунды всегда будет продолжительностью в одну наносекунду позже. Это может привести к изменению локального времени на величину, отличную от одной наносекунды. Обратите внимание, что это другой подход, чем тот, который используется для дней, месяцев и лет.
Этот экземпляр неизменяемый и не затронут этим вызовом метода.
- Parameters:
-
nanos- количество наносекунд для добавления, может быть отрицательным - Returns:
- a
ZonedDateTimeна основе этой даты и времени с добавленными наносекундами, не null - Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
minus
public ZonedDateTime minus(TemporalAmount amountToSubtract)
Это возвращает ZonedDateTime, основанный на этом, с вычетом указанного количества. Количество обычно является Period или Duration, но может быть любого другого типа, реализующего интерфейс TemporalAmount.
Вычисление делегируется объекту количества с помощью вызова TemporalAmount.subtractFrom(Temporal). Реализация количества свободна реализовывать вычитание любым способом, однако она обычно обращается к minus(long, TemporalUnit). Обратитесь к документации реализации количества, чтобы определить, можно ли успешно вычесть.
Этот экземпляр неизменяемый и не затронут этим вызовом метода.
- Specified by:
-
minusв интерфейсеChronoZonedDateTime<LocalDate> - Specified by:
-
minusв интерфейсеTemporal - Parameters:
-
amountToSubtract- количество для вычитания, не null - Returns:
- a
ZonedDateTimeна основе этой даты и времени с произведённым вычитанием, не null - Throws:
-
DateTimeException- если вычитание невозможно -
ArithmeticException- если происходит переполнение числового типа
minus
public ZonedDateTime minus(long amountToSubtract, TemporalUnit unit)
Это возвращает ZonedDateTime, основанный на этом, с вычетом указанного количества в терминах единицы. Если вычитание невозможно, потому что единица не поддерживается или по какой-либо другой причине, выбрасывается исключение.
Вычисление для единиц дат и времени различается.
Единицы дат работают на локальной временной шкале. Сначала период вычитается из локального времени, а затем он преобразуется обратно в дату и время с часовым поясом с использованием идентификатора часового пояса. Преобразование использует ofLocal(LocalDateTime, ZoneId, ZoneOffset) со смещением до вычитания.
Единицы времени работают на временной шкале мгновенного времени. Сначала период вычитается из локального времени, а затем он преобразуется обратно в дату и время с часовым поясом с использованием идентификатора часового пояса. Преобразование использует ofInstant(LocalDateTime, ZoneOffset, ZoneId) со смещением до вычитания.
Этот метод эквивалентен plus(long, TemporalUnit) с отрицательным значением количества. См. этот метод для полного описания того, как работает сложение, и, следовательно, вычитание.
Этот экземпляр неизменяемый и не затронут этим вызовом метода.
- Specified by:
-
minusв интерфейсеChronoZonedDateTime<LocalDate> - Specified by:
-
minusв интерфейсеTemporal - Parameters:
-
amountToSubtract- количество единицы для вычитания из результата, может быть отрицательным -
unit- единица количества для вычитания, не null - Returns:
- a
ZonedDateTimeна основе этой даты и времени с указанным количеством вычтенным, не null - Throws:
-
DateTimeException- если вычитание невозможно -
UnsupportedTemporalTypeException- если единица не поддерживается -
ArithmeticException- если происходит переполнение числового типа
minusYears
public ZonedDateTime minusYears(long years)
ZonedDateTime с указанным количеством вычтенных лет. Это работает на локальной временной шкале, subtracting years для локального времени. Затем это преобразуется обратно в ZonedDateTime, используя идентификатор часового пояса для получения смещения.
При преобразовании обратно в ZonedDateTime, если локальное время находится в перекрытии, то смещение будет сохранено, если возможно, в противном случае будет использовано более раннее смещение. Если в промежутке, локальное время будет скорректировано вперёд на длину промежутка.
Этот экземпляр неизменяемый и не затронут этим вызовом метода.
- Parameters:
-
years- количество лет для вычитания, может быть отрицательным - Returns:
- a
ZonedDateTimeна основе этой даты и времени с вычтенными годами, не null - Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
minusMonths
public ZonedDateTime minusMonths(long months)
ZonedDateTime с указанным количеством вычтенных месяцев. Это работает на локальной временной шкале, subtracting months для локального времени. Затем это преобразуется обратно в ZonedDateTime, используя идентификатор часового пояса для получения смещения.
При преобразовании обратно в ZonedDateTime, если локальное время находится в перекрытии, то смещение будет сохранено, если возможно, в противном случае будет использовано более раннее смещение. Если в промежутке, локальное время будет скорректировано вперёд на длину промежутка.
Этот экземпляр неизменяемый и не затронут этим вызовом метода.
- Parameters:
-
months- количество месяцев для вычитания, может быть отрицательным - Returns:
- a
ZonedDateTimeна основе этой даты и времени с вычтенными месяцами, не null - Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
minusWeeks
public ZonedDateTime minusWeeks(long weeks)
ZonedDateTime с указанным количеством вычтенных недель. Это работает на локальной временной шкале, subtracting weeks для локального времени. Затем это преобразуется обратно в ZonedDateTime, используя идентификатор часового пояса для получения смещения.
При преобразовании обратно в ZonedDateTime, если локальное время находится в перекрытии, то смещение будет сохранено, если возможно, в противном случае будет использовано более раннее смещение. Если в промежутке, локальное время будет скорректировано вперёд на длину промежутка.
Этот экземпляр неизменяемый и не затронут этим вызовом метода.
- Parameters:
-
weeks- количество недель для вычитания, может быть отрицательным - Returns:
- a
ZonedDateTimeна основе этой даты и времени с вычтенными неделями, не null - Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
minusDays
public ZonedDateTime minusDays(long days)
ZonedDateTime с указанным количеством вычтенных дней. Это работает на локальной временной шкале, subtracting days для локального времени. Затем это преобразуется обратно в ZonedDateTime, используя идентификатор часового пояса для получения смещения.
При преобразовании обратно в ZonedDateTime, если локальное время находится в перекрытии, то смещение будет сохранено, если возможно, в противном случае будет использовано более раннее смещение. Если в промежутке, локальное время будет скорректировано вперёд на длину промежутка.
Этот экземпляр неизменяемый и не затронут этим вызовом метода.
- Parameters:
-
days- количество дней для вычитания, может быть отрицательным - Returns:
- a
ZonedDateTimeна основе этой даты и времени с вычтенными днями, не null - Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
minusHours
public ZonedDateTime minusHours(long hours)
ZonedDateTime с вычтенным указанным числом часов. Эта операция выполняется на временной шкале мгновений, так что вычитание одного часа всегда будет длительностью на один час раньше. Это может привести к тому, что локальная дата и время изменятся на количество, отличное от одного часа. Обратите внимание, что этот подход отличается от подхода, используемого днями, месяцами и годами, поэтому вычитание одного дня не эквивалентно добавлению 24 часов.
Например, рассмотрим часовой пояс, такой как 'Europe/Paris', где смена летнего времени на осеннее означает, что местные времена с 02:00 до 02:59 возникают дважды, изменяясь со смещения +02:00 летом на +01:00 зимой.
- Вычитание одного часа из 03:30+01:00 даст 02:30+01:00 (оба в зимнее время)
- Вычитание одного часа из 02:30+01:00 даст 02:30+02:00 (переход от зимнего к летнему времени)
- Вычитание одного часа из 02:30+02:00 даст 01:30+02:00 (оба в летнее время)
- Вычитание трех часов из 03:30+01:00 даст 01:30+02:00 (переход от зимнего к летнему времени)
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Parameters:
-
hours- часы для вычитания, могут быть отрицательными - Returns:
- a
ZonedDateTimeна основе этой даты и времени с вычтенными часами, не null - Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
minusMinutes
public ZonedDateTime minusMinutes(long minutes)
ZonedDateTime с вычтенным указанным числом минут. Эта операция выполняется на временной шкале мгновений, так что вычитание одной минуты всегда будет длительностью на одну минуту раньше. Это может привести к тому, что локальная дата и время изменятся на количество, отличное от одной минуты. Обратите внимание, что этот подход отличается от подхода, используемого днями, месяцами и годами.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Parameters:
-
minutes- минуты для вычитания, могут быть отрицательными - Returns:
- a
ZonedDateTimeна основе этой даты и времени с вычтенными минутами, не null - Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
minusSeconds
public ZonedDateTime minusSeconds(long seconds)
ZonedDateTime с вычтенным указанным числом секунд. Эта операция выполняется на временной шкале мгновений, так что вычитание одной секунды всегда будет длительностью на одну секунду раньше. Это может привести к тому, что локальная дата и время изменятся на количество, отличное от одной секунды. Обратите внимание, что этот подход отличается от подхода, используемого днями, месяцами и годами.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Parameters:
-
seconds- секунды для вычитания, могут быть отрицательными - Returns:
- a
ZonedDateTimeна основе этой даты и времени с вычтенными секундами, не null - Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
minusNanos
public ZonedDateTime minusNanos(long nanos)
ZonedDateTime с вычтенным указанным числом наносекунд. Эта операция выполняется на временной шкале мгновений, так что вычитание одной наносекунды всегда будет длительностью на одну наносекунду раньше. Это может привести к тому, что локальная дата и время изменятся на количество, отличное от одной наносекунды. Обратите внимание, что этот подход отличается от подхода, используемого днями, месяцами и годами.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Parameters:
-
nanos- наносекунды для вычитания, могут быть отрицательными - Returns:
- a
ZonedDateTimeна основе этой даты и времени с вычтенными наносекундами, не null - Throws:
-
DateTimeException- если результат превышает поддерживаемый диапазон дат
query
public <R> R query(TemporalQuery<R> query)
Это запрашивает эту дату и время с использованием указанного объекта стратегии запроса. Объект TemporalQuery определяет логику, которая должна использоваться для получения результата. Прочитайте документацию запроса, чтобы понять, каким будет результат этого метода.
Результат этого метода получается путем вызова метода TemporalQuery.queryFrom(TemporalAccessor) на указанном запросе, передавая this в качестве аргумента.
- Specified by:
-
queryв интерфейсеChronoZonedDateTime<LocalDate> - Specified by:
-
queryв интерфейсеTemporalAccessor - Type Parameters:
-
R- тип результата - Parameters:
-
query- вызываемый запрос, не null - Returns:
- результат запроса, может быть null (определяется запросом)
- Throws:
-
DateTimeException- если запрос выполнить невозможно (определяется запросом) -
ArithmeticException- если произошел численный переполнение (определяется запросом)
until
public long until(Temporal endExclusive, TemporalUnit unit)
Это вычисляет количество времени между двумя объектами ZonedDateTime в терминах одной единицы TemporalUnit. Начальная и конечная точки - this и указанная дата и время. Результат будет отрицательным, если конец предшествует началу. Например, количество дней между двумя датами и временами можно вычислить с помощью startDateTime.until(endDateTime, DAYS).
Temporal , переданный в этот метод, преобразуется в ZonedDateTime с помощью 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 приведут к исключению.
Вычисления для единиц даты и времени отличаются.
Единицы даты работают на временной шкале локального времени, используя локальную дату и время. Например, период с полудня первого дня до полудня следующего дня в днях всегда будет считаться ровно одним днем, независимо от того, была ли смена летнего/зимнего времени или нет.
Единицы времени работают на временной шкале мгновений. Вычисление фактически преобразует оба времени с часовым поясом в мгновения и затем вычисляет интервал между мгновениями. Например, период с полудня первого дня до полудня следующего дня в часах может составлять 23, 24 или 25 часов (или какое-то другое количество) в зависимости от того, была ли смена летнего/зимнего времени или нет.
Если единица не является ChronoUnit, то результат этого метода получается путем вызова TemporalUnit.between(Temporal, Temporal) , передавая this в качестве первого аргумента и преобразованный входной временной объект как второй аргумент.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Specified by:
-
untilв интерфейсеTemporal - Parameters:
-
endExclusive- конечная дата, исключая, которая преобразуется вZonedDateTime, не null -
unit- единица измерения количества, не null - Returns:
- количество времени между этой датой и временем и конечной датой и временем
- Throws:
-
DateTimeException- если количество нельзя вычислить или конечный временной объект нельзя преобразовать вZonedDateTime -
UnsupportedTemporalTypeException- если единица не поддерживается -
ArithmeticException- если произошел численный переполнение
format
public String format(DateTimeFormatter formatter)
Эта дата и время будут переданы в форматер для получения строки.
- Specified by:
-
formatв интерфейсеChronoZonedDateTime<LocalDate> - Parameters:
-
formatter- используемый форматер, не null - Returns:
- строка отформатированной даты и времени, не null
- Throws:
-
DateTimeException- если произошла ошибка во время печати
toOffsetDateTime
public OffsetDateTime toOffsetDateTime()
OffsetDateTime. Создает дату и время со смещением с использованием локальной даты и времени и смещения. Идентификатор часового пояса игнорируется.
- Returns:
- дата и время со смещением, представляющие ту же локальную дату и время и смещение, не null
equals
public boolean equals(Object obj)
Сравнение основано на дате и времени со смещением и часовом поясе. Сравниваются только объекты типа ZonedDateTime, другие типы возвращают false.
- Specified by:
-
equalsв интерфейсеChronoZonedDateTime<LocalDate> - Overrides:
-
equalsв классеObject - Parameters:
-
obj- проверяемый объект, null возвращает false - Returns:
- true, если это равно другой дате и времени
- See Also:
hashCode
public int hashCode()
- Указано:
-
hashCodeв интерфейсеChronoZonedDateTime<LocalDate> - Переопределяет:
-
hashCodeв классеObject - Возвращает:
- подходящий код хэша
- См. также:
toString
public String toString()
String, например 2007-12-03T10:15:30+01:00[Europe/Paris]. Формат состоит из LocalDateTime и ZoneOffset. Если ZoneId не совпадает со смещением, выводится идентификатор. Вывод совместим с ISO-8601, если смещение и идентификатор совпадают.
- Указано:
-
toStringв интерфейсеChronoZonedDateTime<LocalDate> - Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этой даты и времени, не null
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/ZonedDateTime.html