Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class ZonedDateTime extends Object implements Temporal, ChronoZonedDateTime<LocalDate>, Serializable
2007-12-03T10:15:30+01:00 Europe/Paris
.
ZonedDateTime
неизменное представление разового датой с часовым поясом. Этот class хранит всю дату и поля времени, к точности наносекунд, и часовому поясу, с зональным смещением, используемым, чтобы обработать неоднозначные локальные времена даты. Например, значение "2-ого октября 2007 в 13:45.30.123456789 +02:00 в часовом поясе Европы/Парижа" может быть сохранено в a ZonedDateTime
.
Этот class обрабатывает преобразование из локальной временной шкалы LocalDateTime
к мгновенной временной шкале Instant
. Различием между этими двумя временными шкалами является смещение от UTC/Гринвича, представленного a ZoneOffset
.
Преобразование между этими двумя временными шкалами включает вычисление смещения, используя rules
полученный доступ от ZoneId
. Получение смещения на мгновение просто, поскольку есть точно одно допустимое смещение в течение каждого момента. В отличие от этого, получение смещения для разовой датой локальной переменной не является прямым. Есть три случая:
У любого метода, который преобразовывает непосредственно или неявно от локальной переменной, разовой датой к моменту, получая смещение, есть потенциал, который будет сложен.
Для Разрывов общая стратегия состоит в том что, если у локальных разовых датой падений в середине Разрыва, то получающееся зонировало разовый датой, будет локальная переменная разовой датой смещенный вперед на длину Разрыва, приводящего к разовому датой в более позднем смещении, обычно "летнее" время.
Для Перекрытий общая стратегия - это, если локальные разовые датой падения в середине Перекрытия, то предыдущее смещение будет сохранено. Если нет никакого предыдущего смещения, или предыдущее смещение недопустимо, то более раннее смещение используется, обычно "летнее" время.. Два дополнительных метода, withEarlierOffsetAtOverlap()
и withLaterOffsetAtOverlap()
, справка управляет случаем перекрытия.
С точки зрения проекта этот class должен быть просмотрен прежде всего как комбинация a LocalDateTime
и a ZoneId
. ZoneOffset
жизненная, но вторичная, информация, используемая, чтобы гарантировать, что class представляет момент, особенно во время перекрытия перехода на летнее время.
ZonedDateTime
содержит состояние, эквивалентное трем отдельным объектам, a LocalDateTime
, a ZoneId
и разрешенный ZoneOffset
. Смещение и локальный разовый датой используется, чтобы определить момент когда необходимо. Зональный ID используется, чтобы получить правила для того, как и когда смещение изменяется. Смещение не может быть свободно установлено, поскольку зона управляет, какие смещения допустимы. Этот class является неизменным и ориентированным на многопотоковое исполнение.
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
equals(Object obj)
Проверки, если это разовое датой равно другому разовому датой.
|
Строка |
format(DateTimeFormatter formatter)
Форматы это разовое датой использование указанного средства форматирования.
|
static ZonedDateTime |
from(TemporalAccessor temporal)
Получает экземпляр
ZonedDateTime от временного объекта. |
int |
get(TemporalField field)
Получает значение указанного поля от этого разового датой как
int . |
int |
getDayOfMonth()
Получает дневное-месячного поле.
|
DayOfWeek |
getDayOfWeek()
Получает дневное-недельного поле, которое является перечислением
DayOfWeek . |
int |
getDayOfYear()
Получает дневное-летнего поле.
|
int |
getHour()
Получает поле часа-дневного.
|
long |
getLong(TemporalField field)
Получает значение указанного поля от этого разового датой как a
long . |
int |
getMinute()
Получает мелкое-часового поле.
|
Месяц |
getMonth()
Получает поле месяца-летнего, используя
Month перечисление. |
int |
getMonthValue()
Получает поле месяца-летнего от 1 до 12.
|
int |
getNano()
Получает nano-of-second поле.
|
ZoneOffset |
getOffset()
Получает зональное смещение, такое как '+01:00'.
|
int |
getSecond()
Получает второе-минутного поле.
|
int |
getYear()
Получает поле года.
|
ZoneId |
getZone()
Получает часовой пояс, такой как 'Европа/Париж'.
|
int |
hashCode()
Хэш-код для этого разового датой.
|
boolean |
isSupported(TemporalField field)
Проверки, если указанное поле поддерживается.
|
ZonedDateTime |
minus(long amountToSubtract, TemporalUnit unit)
Возвращает копию этого разового датой с указанным вычтенным количеством.
|
ZonedDateTime |
minus(TemporalAmount amountToSubtract)
Возвращает копию этого разового датой с указанным вычтенным количеством.
|
ZonedDateTime |
minusDays(long days)
Возвращает копию этого
ZonedDateTime с установленным периодом в вычтенных днях. |
ZonedDateTime |
minusHours(long hours)
Возвращает копию этого
ZonedDateTime с установленным периодом в вычтенных часах. |
ZonedDateTime |
minusMinutes(long minutes)
Возвращает копию этого
ZonedDateTime с установленным периодом в вычтенных минутах. |
ZonedDateTime |
minusMonths(long months)
Возвращает копию этого
ZonedDateTime с установленным периодом в вычтенных месяцах. |
ZonedDateTime |
minusNanos(long nanos)
Возвращает копию этого
ZonedDateTime с установленным периодом в вычтенных наносекундах. |
ZonedDateTime |
minusSeconds(long seconds)
Возвращает копию этого
ZonedDateTime с установленным периодом в вычтенных секундах. |
ZonedDateTime |
minusWeeks(long weeks)
Возвращает копию этого
ZonedDateTime с установленным периодом в вычтенных неделях. |
ZonedDateTime |
minusYears(long years)
Возвращает копию этого
ZonedDateTime с установленным периодом в вычтенных годах. |
static ZonedDateTime |
now()
Получает ток, разовый датой из системных часов в часовом поясе значения по умолчанию.
|
static ZonedDateTime |
now(Clock clock)
Получает ток, разовый датой из указанных часов.
|
static ZonedDateTime |
now(ZoneId zone)
Получает ток, разовый датой из системных часов в указанном часовом поясе.
|
static ZonedDateTime |
of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond, ZoneId zone)
Получает экземпляр
ZonedDateTime с года, месяца, дня, часа, минуты, во-вторых, наносекунды и часового пояса. |
static ZonedDateTime |
of(LocalDate date, LocalTime time, ZoneId zone)
Получает экземпляр
ZonedDateTime с локальной даты и время. |
static ZonedDateTime |
of(LocalDateTime localDateTime, ZoneId zone)
Получает экземпляр
ZonedDateTime от разовой датой локальной переменной. |
static ZonedDateTime |
ofInstant(Instant instant, ZoneId zone)
Получает экземпляр
ZonedDateTime от Instant . |
static ZonedDateTime |
ofInstant(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone)
Получает экземпляр
ZonedDateTime с момента, сформированного, комбинируя разовую датой локальную переменную и смещение. |
static ZonedDateTime |
ofLocal(LocalDateTime localDateTime, ZoneId zone, ZoneOffset preferredOffset)
Получает экземпляр
ZonedDateTime от локального разового датой использования привилегированного смещения если возможный. |
static ZonedDateTime |
ofStrict(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone)
Получает экземпляр
ZonedDateTime строго проверяя комбинации разовых датой локальных, смещение и зональный ID. |
static ZonedDateTime |
parse(CharSequence text)
Получает экземпляр
ZonedDateTime от текстовой строки такой как 2007-12-03T10:15:30+01:00[Europe/Paris] . |
static ZonedDateTime |
parse(CharSequence text, DateTimeFormatter formatter)
Получает экземпляр
ZonedDateTime от текстовой строки, используя определенное средство форматирования. |
long |
periodUntil(Temporal endDateTime, TemporalUnit unit)
Вычисляет количество времени до другого разового датой с точки зрения указанного модуля.
|
ZonedDateTime |
plus(long amountToAdd, TemporalUnit unit)
Возвращает копию этого разового датой с указанным добавленным количеством.
|
ZonedDateTime |
plus(TemporalAmount amountToAdd)
Возвращает копию этого разового датой с указанным добавленным количеством.
|
ZonedDateTime |
plusDays(long days)
Возвращает копию этого
ZonedDateTime с установленным периодом в добавленных днях. |
ZonedDateTime |
plusHours(long hours)
Возвращает копию этого
ZonedDateTime с установленным периодом в добавленных часах. |
ZonedDateTime |
plusMinutes(long minutes)
Возвращает копию этого
ZonedDateTime с установленным периодом в добавленных минутах. |
ZonedDateTime |
plusMonths(long months)
Возвращает копию этого
ZonedDateTime с установленным периодом в добавленных месяцах. |
ZonedDateTime |
plusNanos(long nanos)
Возвращает копию этого
ZonedDateTime с установленным периодом в добавленных наносекундах. |
ZonedDateTime |
plusSeconds(long seconds)
Возвращает копию этого
ZonedDateTime с установленным периодом в добавленных секундах. |
ZonedDateTime |
plusWeeks(long weeks)
Возвращает копию этого
ZonedDateTime с установленным периодом в добавленных неделях. |
ZonedDateTime |
plusYears(long years)
Возвращает копию этого
ZonedDateTime с установленным периодом в добавленных годах. |
<R> R |
query(TemporalQuery<R> query)
Запросы это разовое датой использование указанного запроса.
|
ValueRange |
range(TemporalField field)
Получает диапазон допустимых значений для указанного поля.
|
LocalDate |
toLocalDate()
Добирается
LocalDate часть этого разового датой. |
LocalDateTime |
toLocalDateTime()
Добирается
LocalDateTime часть этого разового датой. |
LocalTime |
toLocalTime()
Добирается
LocalTime часть этого разового датой. |
OffsetDateTime |
toOffsetDateTime()
Преобразовывает это разовое датой в
OffsetDateTime . |
Строка |
toString()
Выводит это разовое датой как a
String , такой как 2007-12-03T10:15:30+01:00[Europe/Paris] . |
ZonedDateTime |
truncatedTo(TemporalUnit unit)
Возвращает копию этого
ZonedDateTime с усеченным временем. |
ZonedDateTime |
with(TemporalAdjuster adjuster)
Возвращает скорректированную копию этого разового датой.
|
ZonedDateTime |
with(TemporalField field, long newValue)
Возвращает копию этого разового датой с указанным полевым набором к новому значению.
|
ZonedDateTime |
withDayOfMonth(int dayOfMonth)
Возвращает копию этого
ZonedDateTime с дневным-месячного измененным значением. |
ZonedDateTime |
withDayOfYear(int dayOfYear)
Возвращает копию этого
ZonedDateTime с измененным днем-летнего. |
ZonedDateTime |
withEarlierOffsetAtOverlap()
Возвращает копию этого разового датой изменения зонального смещения к ранее двух допустимых смещений в локальном перекрытии временной шкалы.
|
ZonedDateTime |
withFixedOffsetZone()
Возвращает копию этого разового датой с зональным набором ID к смещению.
|
ZonedDateTime |
withHour(int hour)
Возвращает копию этого
ZonedDateTime с измененным значением часа-дневного. |
ZonedDateTime |
withLaterOffsetAtOverlap()
Возвращает копию этого разового датой изменения зонального смещения к позже двух допустимых смещений в локальном перекрытии временной шкалы.
|
ZonedDateTime |
withMinute(int minute)
Возвращает копию этого
ZonedDateTime с мелким-часового измененным значением. |
ZonedDateTime |
withMonth(int month)
Возвращает копию этого
ZonedDateTime с измененным значением месяца-летнего. |
ZonedDateTime |
withNano(int nanoOfSecond)
Возвращает копию этого
ZonedDateTime с измененным значением nano-of-second. |
ZonedDateTime |
withSecond(int second)
Возвращает копию этого
ZonedDateTime со вторым-минутного измененным значением. |
ZonedDateTime |
withYear(int year)
Возвращает копию этого
ZonedDateTime с измененным значением года. |
ZonedDateTime |
withZoneSameInstant(ZoneId zone)
Возвращает копию этого разового датой с различным часовым поясом, сохраняя момент.
|
ZonedDateTime |
withZoneSameLocal(ZoneId zone)
Возвращает копию этого разового датой с различным часовым поясом, сохраняя локальную переменную, разовую датой если возможный.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
compareTo, isAfter, isBefore, isEqual, timeLineOrder, toEpochSecond, toInstant
public static ZonedDateTime now()
Это запросит system clock
в часовом поясе значения по умолчанию, чтобы получить разовый датой ток. Зона и смещение будут установлены основанные на часовом поясе в часах.
Используя этот метод предотвратит возможность использовать альтернативные часы для того, чтобы протестировать, потому что часы трудно кодируются.
public static ZonedDateTime now(ZoneId zone)
Это запросит system clock
получить разовый датой ток. Определение часового пояса избегает зависимости от часового пояса значения по умолчанию. Смещение будет вычислено от указанного часового пояса.
Используя этот метод предотвратит возможность использовать альтернативные часы для того, чтобы протестировать, потому что часы трудно кодируются.
zone
- зональный ID, чтобы использовать, не нульpublic static ZonedDateTime now(Clock clock)
Это запросит указанные часы, чтобы получить разовый датой ток. Зона и смещение будут установлены основанные на часовом поясе в часах.
Используя этот метод позволяет использование альтернативных часов для того, чтобы протестировать. Альтернативные часы могут быть представлены, используя dependency injection
.
clock
- часы, чтобы использовать, не нульpublic static ZonedDateTime of(LocalDate date, LocalTime time, ZoneId zone)
ZonedDateTime
с локальной даты и время. Это создает зонное разовое датой соответствие ввода локальная дата и время настолько близко насколько возможно. Правила часового пояса, такие как переход на летнее время, означают, что не каждая разовая датой локальная переменная допустима для указанной зоны, таким образом разовая датой локальная переменная может быть скорректирована.
Локальное время даты и сначала объединенный, чтобы сформировать разовую датой локальную переменную. Разовая датой локальная переменная тогда разрешается к единственному моменту на временной шкале. Это достигается, находя допустимое смещение от UTC/Гринвича для локальной переменной, разовой датой как определено rules
из зонального ID.
В большинстве случаев есть только одно допустимое смещение для разовой датой локальной переменной. В случае перекрытия, когда часы задерживаются, есть два допустимых смещения. Этот метод использует ранее смещение, обычно соответствующее "лету".
В случае разрыва, когда часы переходят вперед, нет никакого допустимого смещения. Вместо этого разовая датой локальная переменная корректируется, чтобы быть позже длиной разрыва. Для изменения перехода на летнее время типичного одного часа разовая датой локальная переменная будет перемещена один час спустя в смещение, обычно соответствующее "лету".
date
- локальная дата, не нульtime
- местное время, не нульzone
- часовой пояс, не нульpublic static ZonedDateTime of(LocalDateTime localDateTime, ZoneId zone)
ZonedDateTime
от разовой датой локальной переменной. Это создает зонное разовое датой соответствие ввода, локального разовый датой настолько близко насколько возможно. Правила часового пояса, такие как переход на летнее время, означают, что не каждая разовая датой локальная переменная допустима для указанной зоны, таким образом разовая датой локальная переменная может быть скорректирована.
Разовая датой локальная переменная разрешается к единственному моменту на временной шкале. Это достигается, находя допустимое смещение от UTC/Гринвича для локальной переменной, разовой датой как определено rules
из зонального ID.
В большинстве случаев есть только одно допустимое смещение для разовой датой локальной переменной. В случае перекрытия, когда часы задерживаются, есть два допустимых смещения. Этот метод использует ранее смещение, обычно соответствующее "лету".
В случае разрыва, когда часы переходят вперед, нет никакого допустимого смещения. Вместо этого разовая датой локальная переменная корректируется, чтобы быть позже длиной разрыва. Для изменения перехода на летнее время типичного одного часа разовая датой локальная переменная будет перемещена один час спустя в смещение, обычно соответствующее "лету".
localDateTime
- разовая датой локальная переменная, не нулевойzone
- часовой пояс, не нульpublic static ZonedDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond, ZoneId zone)
ZonedDateTime
с года, месяца, дня, часа, минуты, во-вторых, наносекунды и часового пояса. Это создает зонное разовое датой соответствие локальной переменной, разовой датой из семи указанных полей настолько близко насколько возможно. Правила часового пояса, такие как переход на летнее время, означают, что не каждая разовая датой локальная переменная допустима для указанной зоны, таким образом разовая датой локальная переменная может быть скорректирована.
Разовая датой локальная переменная разрешается к единственному моменту на временной шкале. Это достигается, находя допустимое смещение от UTC/Гринвича для локальной переменной, разовой датой как определено rules
из зонального ID.
В большинстве случаев есть только одно допустимое смещение для разовой датой локальной переменной. В случае перекрытия, когда часы задерживаются, есть два допустимых смещения. Этот метод использует ранее смещение, обычно соответствующее "лету".
В случае разрыва, когда часы переходят вперед, нет никакого допустимого смещения. Вместо этого разовая датой локальная переменная корректируется, чтобы быть позже длиной разрыва. Для изменения перехода на летнее время типичного одного часа разовая датой локальная переменная будет перемещена один час спустя в смещение, обычно соответствующее "лету".
Этот метод существует прежде всего для того, чтобы записать прецеденты. Не тестовый код будет обычно использовать другие методы, чтобы создать время смещения. LocalDateTime
имеет пять дополнительных разновидностей удобства эквивалентного метода фабрики, берущего меньше параметров. Им не обеспечивают здесь, чтобы уменьшить место API.
year
- год, чтобы представить, от MIN_YEAR до MAX_YEARmonth
- месяц-летнего, чтобы представить, от 1 (январь) к 12 (декабрь)dayOfMonth
- день-месячного, чтобы представить, от 1 до 31hour
- час-дневного, чтобы представить, от 0 до 23minute
- минута-часового, чтобы представить, от 0 до 59second
- второе-минутного, чтобы представить, от 0 до 59nanoOfSecond
- nano-of-second, чтобы представить, от 0 до 999 999 999zone
- часовой пояс, не нульDateTimeException
- если значение какого-либо поля испытывает недостаток диапазона, или если день-месячного недопустим для летнего месяцемpublic static ZonedDateTime ofLocal(LocalDateTime localDateTime, ZoneId zone, ZoneOffset preferredOffset)
ZonedDateTime
от локального разового датой использования привилегированного смещения если возможный. Разовая датой локальная переменная разрешается к единственному моменту на временной шкале. Это достигается, находя допустимое смещение от UTC/Гринвича для локальной переменной, разовой датой как определено rules
из зонального ID.
В большинстве случаев есть только одно допустимое смещение для разовой датой локальной переменной. В случае перекрытия, где часы задерживаются, есть два допустимых смещения. Если привилегированное смещение является одним из допустимых смещений тогда, это используется. Иначе более раннее допустимое смещение используется, обычно соответствуя "лету".
В случае разрыва, где часы переходят вперед, нет никакого допустимого смещения. Вместо этого разовая датой локальная переменная корректируется, чтобы быть позже длиной разрыва. Для изменения перехода на летнее время типичного одного часа разовая датой локальная переменная будет перемещена один час спустя в смещение, обычно соответствующее "лету".
localDateTime
- разовая датой локальная переменная, не нулевойzone
- часовой пояс, не нульpreferredOffset
- зональное смещение, нуль, если никакое предпочтениеpublic static ZonedDateTime ofInstant(Instant instant, ZoneId zone)
ZonedDateTime
от Instant
. Это создает зонное разовое датой с тем же самым моментом, как это определило. Вызов ChronoZonedDateTime.toInstant()
возвратит момент, равный тому, используемому сюда.
Преобразование момента к зонному разовому датой просто, поскольку есть только одно допустимое смещение в течение каждого момента.
instant
- момент, чтобы создать разовое датой из, не нульzone
- часовой пояс, не нульDateTimeException
- если результат превышает поддерживаемый диапазонpublic static ZonedDateTime ofInstant(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone)
ZonedDateTime
с момента, сформированного, комбинируя разовую датой локальную переменную и смещение. Это создает зонное разовое датой combining
LocalDateTime
и ZoneOffset
. Эта комбинация уникально определяет момент без неоднозначности.
Преобразование момента к зонному разовому датой просто, поскольку есть только одно допустимое смещение в течение каждого момента. Если допустимое смещение будет отличаться от определенного смещения, то разовое датой и смещение зонного разового датой будут отличаться от определенных.
Если ZoneId
использоваться - a ZoneOffset
, этот метод эквивалентен of(LocalDateTime, ZoneId)
.
localDateTime
- разовая датой локальная переменная, не нулевойoffset
- зональное смещение, не нульzone
- часовой пояс, не нульpublic static ZonedDateTime ofStrict(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone)
ZonedDateTime
строго проверяя комбинации разовых датой локальных, смещение и зональный ID. Это создает зонное разовое датой обеспечение, что смещение допустимо для локальной переменной, разовой датой согласно правилам указанной зоны. Если смещение недопустимо, исключение выдается.
localDateTime
- разовая датой локальная переменная, не нулевойoffset
- зональное смещение, не нульzone
- часовой пояс, не нульpublic static ZonedDateTime from(TemporalAccessor temporal)
ZonedDateTime
от временного объекта. Это получает зонное разовое датой основанное на указанном временном. A TemporalAccessor
представляет произвольный набор даты и информации времени, из которой эта фабрика преобразовывает в экземпляр ZonedDateTime
.
Преобразование сначала получит a ZoneId
от временного объекта, отступая к a ZoneOffset
в случае необходимости. Это тогда попытается получить Instant
, отступание к a LocalDateTime
в случае необходимости. Результатом будет любой комбинация ZoneId
или ZoneOffset
с Instant
или LocalDateTime
. Реализациям разрешают выполнить оптимизацию, такую как доступ к тем полям, которые эквивалентны соответствующим объектам.
Этот метод соответствует подпись функционального интерфейса TemporalQuery
разрешение этого использоваться в запросах через ссылку метода, ZonedDateTime::from
.
from
в интерфейсе ChronoZonedDateTime<LocalDate>
temporal
- временный объект преобразовать, не нульDateTimeException
- если неспособный преобразовать в ZonedDateTime
Chronology.zonedDateTime(TemporalAccessor)
public static ZonedDateTime parse(CharSequence text)
ZonedDateTime
от текстовой строки такой как 2007-12-03T10:15:30+01:00[Europe/Paris]
. Строка должна представить допустимое разовое датой и анализируется, используя DateTimeFormatter.ISO_ZONED_DATE_TIME
.
text
- текст, чтобы проанализировать такой как "2007-12-03T10:15:30+01:00 [Европа/Париж]", не нульDateTimeParseException
- если текст не может быть проанализированpublic static ZonedDateTime parse(CharSequence text, DateTimeFormatter formatter)
ZonedDateTime
от текстовой строки, используя определенное средство форматирования. Текст анализируется, используя средство форматирования, возвращая разовое датой.
text
- текст, чтобы проанализировать, не нульformatter
- средство форматирования, чтобы использовать, не нульDateTimeParseException
- если текст не может быть проанализированpublic boolean isSupported(TemporalField field)
Это проверяет, может ли это разовое датой быть запрошено для указанного поля. Если ложь, то вызов range
и get
методы выдадут исключение.
Если поле является a 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. Если поле не является a ChronoField
, тогда результат этого метода получается, вызывая TemporalField.isSupportedBy(TemporalAccessor)
передача this
как параметр. Поддерживается ли поле, определяется полем.
isSupported
в интерфейсе ChronoZonedDateTime<LocalDate>
isSupported
в интерфейсе TemporalAccessor
field
- поле, чтобы проверить, обнулите, возвращает falsepublic ValueRange range(TemporalField field)
Объект диапазона выражает минимальные и максимальные допустимые значения для поля. Это разовое датой используется, чтобы улучшить точность возвращенного диапазона. Если не возможно возвратить диапазон, потому что поле не поддерживается или по некоторой другой причине, исключение выдается.
Если поле является a ChronoField
тогда запрос реализуется здесь. supported fields
возвратит соответствующие экземпляры диапазона. Все другой ChronoField
экземпляры бросят UnsupportedTemporalTypeException
.
Если поле не является a ChronoField
, тогда результат этого метода получается, вызывая TemporalField.rangeRefinedBy(TemporalAccessor)
передача this
как параметр. Может ли диапазон быть получен, определяется полем.
range
в интерфейсе ChronoZonedDateTime<LocalDate>
range
в интерфейсе TemporalAccessor
field
- поле, чтобы запросить диапазон для, не нульDateTimeException
- если диапазон для поля не может быть полученUnsupportedTemporalTypeException
- если поле не поддерживаетсяpublic int get(TemporalField field)
int
. Это запрашивает это разовое датой для значения для указанного поля. Возвращенное значение всегда будет в пределах допустимого диапазона значений для поля. Если не возможно возвратить значение, потому что поле не поддерживается или по некоторой другой причине, исключение выдается.
Если поле является a ChronoField
тогда запрос реализуется здесь. supported fields
возвратит допустимые значения, основанные на этом разовом датой, кроме NANO_OF_DAY
, MICRO_OF_DAY
, EPOCH_DAY
, PROLEPTIC_MONTH
и INSTANT_SECONDS
которые являются слишком большими, чтобы вписаться int
и бросок a DateTimeException
. Все другой ChronoField
экземпляры бросят UnsupportedTemporalTypeException
.
Если поле не является a ChronoField
, тогда результат этого метода получается, вызывая TemporalField.getFrom(TemporalAccessor)
передача this
как параметр. Может ли значение быть получено, и что представляет значение, определяется полем.
get
в интерфейсе ChronoZonedDateTime<LocalDate>
get
в интерфейсе TemporalAccessor
field
- поле, чтобы получить, не нульDateTimeException
- если значение для поля не может быть получено, или значение вне диапазона допустимых значений для поляUnsupportedTemporalTypeException
- если поле не поддерживается, или диапазон значений превышает int
ArithmeticException
- если числовое переполнение происходитpublic long getLong(TemporalField field)
long
. Это запрашивает это разовое датой для значения для указанного поля. Если не возможно возвратить значение, потому что поле не поддерживается или по некоторой другой причине, исключение выдается.
Если поле является a ChronoField
тогда запрос реализуется здесь. supported fields
возвратит допустимые значения, основанные на этом разовом датой. Все другой ChronoField
экземпляры бросят UnsupportedTemporalTypeException
.
Если поле не является a ChronoField
, тогда результат этого метода получается, вызывая TemporalField.getFrom(TemporalAccessor)
передача this
как параметр. Может ли значение быть получено, и что представляет значение, определяется полем.
getLong
в интерфейсе ChronoZonedDateTime<LocalDate>
getLong
в интерфейсе TemporalAccessor
field
- поле, чтобы получить, не нульDateTimeException
- если значение для поля не может быть полученоUnsupportedTemporalTypeException
- если поле не поддерживаетсяArithmeticException
- если числовое переполнение происходитpublic ZoneOffset getOffset()
Это - смещение локальной переменной, разовой датой от UTC/Гринвича.
getOffset
в интерфейсе ChronoZonedDateTime<LocalDate>
public ZonedDateTime withEarlierOffsetAtOverlap()
Этот метод только имеет любой эффект, когда локальная временная шкала накладывается, такой как в осенний переход на летнее время cutover. В этом сценарии есть два допустимых смещения для разовой датой локальной переменной. Вызов этого метода возвратит зонное разовое датой с ранее этих выбранных двух.
Если этот метод вызывают, когда это не перекрытие, this
возвращается.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
withEarlierOffsetAtOverlap
в интерфейсе ChronoZonedDateTime<LocalDate>
ZonedDateTime
основанный на этом разовом датой с более ранним смещением, не нулемpublic ZonedDateTime withLaterOffsetAtOverlap()
Этот метод только имеет любой эффект, когда локальная временная шкала накладывается, такой как в осенний переход на летнее время cutover. В этом сценарии есть два допустимых смещения для разовой датой локальной переменной. Вызов этого метода возвратит зонное разовое датой с позже этих выбранных двух.
Если этот метод вызывают, когда это не перекрытие, this
возвращается.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
withLaterOffsetAtOverlap
в интерфейсе ChronoZonedDateTime<LocalDate>
ZonedDateTime
основанный на этом разовом датой с более поздним смещением, не нулемpublic ZoneId getZone()
Это возвращает зональный ID. Это идентифицирует часовой пояс rules
это определяет, когда и как смещение от UTC/Гринвича изменяется.
Зональный ID может быть тем же самым как смещение. Если это - истина, то у любых будущих вычислений, таких как дополнение или вычитание, нет никаких сложных граничных случаев из-за правил часового пояса. См. также withFixedOffsetZone()
.
getZone
в интерфейсе ChronoZonedDateTime<LocalDate>
public ZonedDateTime withZoneSameLocal(ZoneId zone)
Этот метод изменяет часовой пояс и сохраняет разовую датой локальную переменную. Разовая датой локальная переменная только изменяется, если это недопустимо для новой зоны, определенное использование того же самого подхода как ofLocal(LocalDateTime, ZoneId, ZoneOffset)
.
Чтобы изменить зону и скорректировать разовую датой локальную переменную, использовать withZoneSameInstant(ZoneId)
.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
withZoneSameLocal
в интерфейсе ChronoZonedDateTime<LocalDate>
zone
- часовой пояс, чтобы изменить на, не нульZonedDateTime
основанный на этом разовом датой с требуемой зоной, не нулемpublic ZonedDateTime withZoneSameInstant(ZoneId zone)
Этот метод изменяет часовой пояс и сохраняет момент. Это обычно приводит к изменению к разовой датой локальной переменной.
Этот метод основан на сохранении того же самого момента, таким образом разрывает и накладывается в локальной временной шкале, не имеют никакого эффекта на результат.
Чтобы изменить смещение, сохраняя местное время, использовать withZoneSameLocal(ZoneId)
.
withZoneSameInstant
в интерфейсе ChronoZonedDateTime<LocalDate>
zone
- часовой пояс, чтобы изменить на, не нульZonedDateTime
основанный на этом разовом датой с требуемой зоной, не нулемDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime withFixedOffsetZone()
Это возвращает зонное разовое датой, где зональный ID является тем же самым как getOffset()
. Разовая датой локальная переменная, смещение и момент результата будет тем же самым как в этом разовом датой.
Устанавливая разовое датой в фиксированное единственное смещение означает, что у любых будущих вычислений, таких как дополнение или вычитание, нет никаких сложных граничных случаев из-за правил часового пояса. Это могло бы также быть полезно, отправляя зонное разовое датой через сеть, как большинство протоколов, таких как ISO 8601, только обработать смещения, и не основанные на области зональные ID.
Это эквивалентно ZonedDateTime.of(zdt.toLocalDateTime(), zdt.getOffset())
.
ZonedDateTime
с зональным набором ID к смещению, не нулемpublic LocalDateTime toLocalDateTime()
LocalDateTime
часть этого разового датой. Это возвращает a LocalDateTime
с тем же самым годом, месяцем, днем и временем как это разовое датой.
toLocalDateTime
в интерфейсе ChronoZonedDateTime<LocalDate>
public LocalDate toLocalDate()
LocalDate
часть этого разового датой. Это возвращает a LocalDate
с тем же самым годом, месяцем и днем как это разовое датой.
toLocalDate
в интерфейсе ChronoZonedDateTime<LocalDate>
public int getYear()
Этот метод возвращает примитив int
значение в течение года.
Год, возвращенный этим методом, является преждевременным согласно get(YEAR)
. Чтобы получить год эры, использовать get(YEAR_OF_ERA)
.
public int getMonthValue()
Этот метод возвращает месяц как int
от 1 до 12. Код программы является часто более четким если перечисление Month
используется, вызывая getMonth()
.
getMonth()
public Month getMonth()
Month
перечисление. Этот метод возвращает перечисление Month
в течение месяца. Это избегает беспорядка относительно какой int
среднее значение значений. Если Вы нуждаетесь в доступе к примитиву int
значение тогда перечисление обеспечивает int value
.
getMonthValue()
public int getDayOfMonth()
Этот метод возвращает примитив int
значение в течение дня-месячного.
public int getDayOfYear()
Этот метод возвращает примитив int
значение в течение дня-летнего.
public DayOfWeek getDayOfWeek()
DayOfWeek
. Этот метод возвращает перечисление DayOfWeek
в течение дня-недельного. Это избегает беспорядка относительно какой int
среднее значение значений. Если Вы нуждаетесь в доступе к примитиву int
значение тогда перечисление обеспечивает int value
.
Дополнительная информация может быть получена из DayOfWeek
. Это включает текстовые имена значений.
public LocalTime toLocalTime()
LocalTime
часть этого разового датой. Это возвращает a LocalTime
с тем же самым часом, минутой, второй и наносекунда как это разовое датой.
toLocalTime
в интерфейсе ChronoZonedDateTime<LocalDate>
public int getHour()
public int getMinute()
public int getSecond()
public int getNano()
public ZonedDateTime with(TemporalAdjuster adjuster)
Это возвращает a ZonedDateTime
, основанный на этом, со скорректированным разовым датой. Корректировка имеет место, используя указанный объект стратегии регулятора. Считайте документацию регулятора, чтобы понять, какая корректировка будет внесена.
Простой регулятор мог бы просто установить то из полей, таких как поле года. Более сложный регулятор мог бы назначить дату к прошлому дню месяца. В выборе общих корректировок обеспечивают TemporalAdjuster
. Они включают обнаружение "в последний день месяца" и "следующей среды". Разовые основным сроком классы также реализуют TemporalAdjuster
интерфейс, такой как Month
и MonthDay
. Регулятор ответственен за обработку особых случаев, таких как переменные продолжительности месяца и високосных годов.
Например этот код возвращает дату в прошлый день июля:
import static java.time.Month.*; import static java.time.temporal.Adjusters.*; result = zonedDateTime.with(JULY).with(lastDayOfMonth());
Классы LocalDate
и LocalTime
реализация TemporalAdjuster
, таким образом этот метод может использоваться, чтобы изменить дату, время или сместить:
result = zonedDateTime.with(date); result = zonedDateTime.with(time);
ZoneOffset
также реализации TemporalAdjuster
однако используя это, поскольку параметр обычно не имеет никакого эффекта. Смещение a ZonedDateTime
управляется прежде всего часовым поясом. Также, изменение смещения обычно не имеет смысла, потому что есть только одно допустимое смещение для разовой датой локальной переменной и зона. Если зонное разовое датой находится в перекрытии перехода на летнее время, то смещение используется, чтобы переключиться между двумя допустимыми смещениями. Во всех других случаях игнорируется смещение.
Результат этого метода получается, вызывая TemporalAdjuster.adjustInto(Temporal)
метод на указанной передаче регулятора this
как параметр.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
with
в интерфейсе ChronoZonedDateTime<LocalDate>
with
в интерфейсе Temporal
adjuster
- регулятор, чтобы использовать, не нульZonedDateTime
основанный на this
с внесенной корректировкой, не нульDateTimeException
- если корректировка не может быть внесенаArithmeticException
- если числовое переполнение происходитpublic ZonedDateTime with(TemporalField field, long newValue)
Это возвращает a ZonedDateTime
, основанный на этом, со значением для указанного поля изменился. Это может использоваться, чтобы изменить любое поддерживаемое поле, такое как год, месяц или день-месячного. Если не возможно установить значение, потому что поле не поддерживается или по некоторой другой причине, исключение выдается.
В некоторых случаях изменение указанного поля может заставить получающееся разовое датой становиться недопустимым, такие как изменение месяца с 31-ого января до февраля сделал бы день-месячного недопустимым. В случаях как это поле ответственно за разрешение даты. Обычно это выберет предыдущую допустимую дату, которая была бы прошлым допустимым днем февраля в этом примере.
Если поле является a ChronoField
тогда корректировка реализуется здесь.
INSTANT_SECONDS
поле возвратит разовое датой с указанным моментом. Зона и nano-of-second неизменны. Результату получат смещение из новой мгновенной и исходной зоны. Если новое мгновенное значение вне допустимого диапазона тогда a DateTimeException
будет брошен.
OFFSET_SECONDS
поле будет обычно игнорироваться. Смещение a ZonedDateTime
управляется прежде всего часовым поясом. Также, изменение смещения обычно не имеет смысла, потому что есть только одно допустимое смещение для разовой датой локальной переменной и зона. Если зонное разовое датой находится в перекрытии перехода на летнее время, то смещение используется, чтобы переключиться между двумя допустимыми смещениями. Во всех других случаях игнорируется смещение. Если новое значение смещения вне допустимого диапазона тогда a DateTimeException
будет брошен.
Другой supported fields
будет вести себя согласно соответствующему методу на LocalDateTime
. Зона не является частью вычисления и будет неизменна. Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Все другой ChronoField
экземпляры бросят UnsupportedTemporalTypeException
.
Если поле не является a ChronoField
, тогда результат этого метода получается, вызывая TemporalField.adjustInto(Temporal, long)
передача this
как параметр. В этом случае поле определяет, ли и как скорректировать момент.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
with
в интерфейсе ChronoZonedDateTime<LocalDate>
with
в интерфейсе Temporal
field
- поле, чтобы установить в результате, не нулеnewValue
- новое значение поля в результатеZonedDateTime
основанный на this
с указанным полевым набором, не нулемDateTimeException
- если поле не может быть установленоUnsupportedTemporalTypeException
- если поле не поддерживаетсяArithmeticException
- если числовое переполнение происходитpublic ZonedDateTime withYear(int year)
ZonedDateTime
с измененным значением года. Это работает на локальной временной шкале, changing the year
из разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
year
- год, чтобы установить в результате, от MIN_YEAR до MAX_YEARZonedDateTime
основанный на этом разовом датой с требуемым годом, не нулемDateTimeException
- если значение года недопустимоpublic ZonedDateTime withMonth(int month)
ZonedDateTime
с измененным значением месяца-летнего. Это работает на локальной временной шкале, changing the month
из разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
month
- месяц-летнего, чтобы установить в результате, от 1 (январь) к 12 (декабрь)ZonedDateTime
основанный на этом разовом датой с требуемым месяцем, не нулемDateTimeException
- если значение месяца-летнего недопустимоpublic ZonedDateTime withDayOfMonth(int dayOfMonth)
ZonedDateTime
с дневным-месячного измененным значением. Это работает на локальной временной шкале, changing the day-of-month
из разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
dayOfMonth
- день-месячного, чтобы установить в результате, от 1 до 28-31ZonedDateTime
основанный на этом разовом датой с требуемым днем, не нулемDateTimeException
- если дневное-месячного значение недопустимо, или если день-месячного недопустим для летнего месяцемpublic ZonedDateTime withDayOfYear(int dayOfYear)
ZonedDateTime
с измененным днем-летнего. Это работает на локальной временной шкале, changing the day-of-year
из разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
dayOfYear
- день-летнего, чтобы установить в результате, от 1 до 365-366ZonedDateTime
основанный на этой дате с требуемым днем, не нулеDateTimeException
- если дневное-летнего значение недопустимо, или если день-летнего недопустим в течение годаpublic ZonedDateTime withHour(int hour)
ZonedDateTime
с измененным значением часа-дневного. Это работает на локальной временной шкале, изменяя время разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
hour
- час-дневного, чтобы установить в результате, от 0 до 23ZonedDateTime
основанный на этом разовом датой с требуемым часом, не нулемDateTimeException
- если значение часа недопустимоpublic ZonedDateTime withMinute(int minute)
ZonedDateTime
с мелким-часового измененным значением. Это работает на локальной временной шкале, изменяя время разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
minute
- минута-часового, чтобы установить в результате, от 0 до 59ZonedDateTime
основанный на этом разовом датой с требуемой минутой, не нулемDateTimeException
- если мелкое значение недопустимоpublic ZonedDateTime withSecond(int second)
ZonedDateTime
со вторым-минутного измененным значением. Это работает на локальной временной шкале, изменяя время разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
second
- второе-минутного, чтобы установить в результате, от 0 до 59ZonedDateTime
основанный на этом разовом датой с требуемой секундой, не нулевойDateTimeException
- если второе значение недопустимоpublic ZonedDateTime withNano(int nanoOfSecond)
ZonedDateTime
с измененным значением nano-of-second. Это работает на локальной временной шкале, изменяя время разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
nanoOfSecond
- nano-of-second, чтобы установить в результате, от 0 до 999 999 999ZonedDateTime
основанный на этом разовом датой с требуемой наносекундой, не нулемDateTimeException
- если значение nano недопустимоpublic ZonedDateTime truncatedTo(TemporalUnit unit)
ZonedDateTime
с усеченным временем. Усечение возвращает копию оригинала, разового датой с полями, меньшими чем указанный обнуленный модуль. Например, усечение с minutes
модуль обнулит второе-минутного и nano-of-second поле.
У модуля должна быть продолжительность, которая делится на продолжительность стандартного дня без остатка. Это включает все предоставленные единицы измерения времени на ChronoUnit
и DAYS
. Другие модули выдают исключение.
Это работает на локальной временной шкале, truncating
базовая разовая датой локальная переменная. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
unit
- модуль, чтобы усечь к, не нульZonedDateTime
основанный на этом разовом датой с усеченным временем, не нулевойDateTimeException
- если неспособный усекатьUnsupportedTemporalTypeException
- если модуль не поддерживаетсяpublic ZonedDateTime plus(TemporalAmount amountToAdd)
Это возвращает a ZonedDateTime
, основанный на этом, с указанным добавленным количеством. Количество обычно Period
или Duration
но может быть любой другой тип, реализовывая TemporalAmount
интерфейс.
Вычисление делегируется к объекту количества, вызывая TemporalAmount.addTo(Temporal)
. Реализация количества свободна реализовать дополнение всегда, это желает, однако это обычно перезванивает к plus(long, TemporalUnit)
. Консультируйтесь с документацией реализации количества, чтобы определить, может ли это быть успешно добавлено.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
plus
в интерфейсе ChronoZonedDateTime<LocalDate>
plus
в интерфейсе Temporal
amountToAdd
- количество, чтобы добавить, не нульZonedDateTime
основанный на этом разовом датой со сделанным дополнением, не нульDateTimeException
- если дополнение не может быть сделаноArithmeticException
- если числовое переполнение происходитpublic ZonedDateTime plus(long amountToAdd, TemporalUnit unit)
Это возвращает a ZonedDateTime
, основанный на этом, с количеством с точки зрения модуля добавил. Если не возможно добавить количество, потому что модуль не поддерживается или по некоторой другой причине, исключение выдается.
Если поле является a ChronoUnit
тогда дополнение реализуется здесь. Зона не является частью вычисления и будет неизменна в результате. Вычисление для даты и единиц измерения времени отличается.
Модули даты работают на локальной временной шкале. Период сначала добавляется к разовой датой локальной переменной, затем преобразовал назад в зонное разовое датой использование зонального ID. Использование преобразования ofLocal(LocalDateTime, ZoneId, ZoneOffset)
со смещением перед дополнением.
Единицы измерения времени управляют тотчас временной шкалой. Период сначала добавляется к разовой датой локальной переменной, затем преобразовал назад в зонное разовое датой использование зонального ID. Использование преобразования ofInstant(LocalDateTime, ZoneOffset, ZoneId)
со смещением перед дополнением.
Если поле не является a ChronoUnit
, тогда результат этого метода получается, вызывая TemporalUnit.addTo(Temporal, long)
передача this
как параметр. В этом случае модуль определяет, ли и как выполнить дополнение.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
plus
в интерфейсе ChronoZonedDateTime<LocalDate>
plus
в интерфейсе Temporal
amountToAdd
- количество модуля, чтобы добавить к результату, может быть отрицательнымunit
- модуль количества, чтобы добавить, не нульZonedDateTime
основанный на этом разовом датой с указанным количеством добавил, не нульDateTimeException
- если дополнение не может быть сделаноUnsupportedTemporalTypeException
- если модуль не поддерживаетсяArithmeticException
- если числовое переполнение происходитpublic ZonedDateTime plusYears(long years)
ZonedDateTime
с установленным периодом в добавленных годах. Это работает на локальной временной шкале, adding years
к разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
years
- годы, чтобы добавить, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с годами добавил, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime plusMonths(long months)
ZonedDateTime
с установленным периодом в добавленных месяцах. Это работает на локальной временной шкале, adding months
к разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
months
- месяцы, чтобы добавить, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с месяцами добавил, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime plusWeeks(long weeks)
ZonedDateTime
с установленным периодом в добавленных неделях. Это работает на локальной временной шкале, adding weeks
к разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
weeks
- недели, чтобы добавить, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с неделями добавил, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime plusDays(long days)
ZonedDateTime
с установленным периодом в добавленных днях. Это работает на локальной временной шкале, adding days
к разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
days
- дни, чтобы добавить, может быть отрицательнымZonedDateTime
основанный на этом разовом датой со днями добавил, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime plusHours(long hours)
ZonedDateTime
с установленным периодом в добавленных часах. Это управляет тотчас временной шкалой, так, что добавляя, что один час всегда будет продолжительностью один час спустя. Это может заставить локальную переменную, разовую датой изменяться количеством кроме одного часа. Отметьте, что это - другой подход к используемому днями, месяцы и годы, таким образом добавляя однажды не то же самое как добавление 24 часов.
Например, рассмотрите часовой пояс, где пружинный DST cutover означает, что местное время 01:00 к 01:59 происходит, дважды изменяясь от смещения +02:00 к +01:00.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
hours
- часы, чтобы добавить, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с часами добавил, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime plusMinutes(long minutes)
ZonedDateTime
с установленным периодом в добавленных минутах. Это управляет тотчас временной шкалой, так, что добавляя, что одна минута всегда будет продолжительностью одну минуту спустя. Это может заставить локальную переменную, разовую датой изменяться количеством кроме одной минуты. Отметьте, что это - другой подход к используемому днями, месяцами и годами.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
minutes
- минуты, чтобы добавить, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с минутами добавил, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime plusSeconds(long seconds)
ZonedDateTime
с установленным периодом в добавленных секундах. Это управляет тотчас временной шкалой, так, что добавляя, что одна секунда всегда будет продолжительностью одну секунду спустя. Это может заставить локальную переменную, разовую датой изменяться количеством кроме одной секунды. Отметьте, что это - другой подход к используемому днями, месяцами и годами.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
seconds
- секунды, чтобы добавить, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с секундами добавил, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime plusNanos(long nanos)
ZonedDateTime
с установленным периодом в добавленных наносекундах. Это управляет тотчас временной шкалой, так, что добавляя, что один nano всегда будет продолжительностью одного nano позже. Это может заставить локальную переменную, разовую датой изменяться количеством кроме одного nano. Отметьте, что это - другой подход к используемому днями, месяцами и годами.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
nanos
- nanos, чтобы добавить, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с наносекундами добавил, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime minus(TemporalAmount amountToSubtract)
Это возвращает a ZonedDateTime
, основанный на этом, с указанным вычтенным количеством. Количество обычно Period
или Duration
но может быть любой другой тип, реализовывая TemporalAmount
интерфейс.
Вычисление делегируется к объекту количества, вызывая TemporalAmount.subtractFrom(Temporal)
. Реализация количества свободна реализовать вычитание всегда, это желает, однако это обычно перезванивает к minus(long, TemporalUnit)
. Консультируйтесь с документацией реализации количества, чтобы определить, может ли это быть успешно вычтено.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
minus
в интерфейсе ChronoZonedDateTime<LocalDate>
minus
в интерфейсе Temporal
amountToSubtract
- количество, чтобы вычесть, не нульZonedDateTime
основанный на этом разовом датой со сделанным вычитанием, не нульDateTimeException
- если вычитание не может быть сделаноArithmeticException
- если числовое переполнение происходитpublic ZonedDateTime minus(long amountToSubtract, TemporalUnit unit)
Это возвращает a ZonedDateTime
, основанный на этом, с количеством с точки зрения модуля вычитается. Если не возможно вычесть количество, потому что модуль не поддерживается или по некоторой другой причине, исключение выдается.
Вычисление для даты и единиц измерения времени отличается.
Модули даты работают на локальной временной шкале. Период сначала вычитается из разовой датой локальной переменной, затем преобразовал назад в зонное разовое датой использование зонального ID. Использование преобразования ofLocal(LocalDateTime, ZoneId, ZoneOffset)
со смещением перед вычитанием.
Единицы измерения времени управляют тотчас временной шкалой. Период сначала вычитается из разовой датой локальной переменной, затем преобразовал назад в зонное разовое датой использование зонального ID. Использование преобразования ofInstant(LocalDateTime, ZoneOffset, ZoneId)
со смещением перед вычитанием.
Этот метод эквивалентен plus(long, TemporalUnit)
с отрицаемым количеством. См., что метод для полного описания того, как дополнение, и таким образом вычитание, работают.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
minus
в интерфейсе ChronoZonedDateTime<LocalDate>
minus
в интерфейсе Temporal
amountToSubtract
- количество модуля, чтобы вычесть из результата, может быть отрицательнымunit
- модуль количества, чтобы вычесть, не нульZonedDateTime
основанный на этом разовом датой с указанным вычтенным количеством, не нульDateTimeException
- если вычитание не может быть сделаноUnsupportedTemporalTypeException
- если модуль не поддерживаетсяArithmeticException
- если числовое переполнение происходитpublic ZonedDateTime minusYears(long years)
ZonedDateTime
с установленным периодом в вычтенных годах. Это работает на локальной временной шкале, subtracting years
к разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
years
- годы, чтобы вычесть, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с вычтенными годами, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime minusMonths(long months)
ZonedDateTime
с установленным периодом в вычтенных месяцах. Это работает на локальной временной шкале, subtracting months
к разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
months
- месяцы, чтобы вычесть, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с вычтенными месяцами, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime minusWeeks(long weeks)
ZonedDateTime
с установленным периодом в вычтенных неделях. Это работает на локальной временной шкале, subtracting weeks
к разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
weeks
- недели, чтобы вычесть, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с вычтенными неделями, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime minusDays(long days)
ZonedDateTime
с установленным периодом в вычтенных днях. Это работает на локальной временной шкале, subtracting days
к разовой датой локальной переменной. Это тогда преобразовывается назад в a ZonedDateTime
, использование зонального ID, чтобы получить смещение.
Преобразовывая назад в ZonedDateTime
, если разовая датой локальная переменная будет в перекрытии, то смещение будет сохранено если возможный, иначе более раннее смещение будет использоваться. Если в разрыве, разовая датой локальная переменная будет скорректирована вперед длиной разрыва.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
days
- дни, чтобы вычесть, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с вычтенными днями, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime minusHours(long hours)
ZonedDateTime
с установленным периодом в вычтенных часах. Это управляет тотчас временной шкалой, так, что вычитая один час всегда будет продолжительностью одним часом ранее. Это может заставить локальную переменную, разовую датой изменяться количеством кроме одного часа. Отметьте, что это - другой подход к используемому днями, месяцы и годы, таким образом вычитая один день не то же самое как добавление 24 часов.
Например, рассмотрите часовой пояс, где пружинный DST cutover означает, что местное время 01:00 к 01:59 происходит, дважды изменяясь от смещения +02:00 к +01:00.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
hours
- часы, чтобы вычесть, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с вычтенными часами, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime minusMinutes(long minutes)
ZonedDateTime
с установленным периодом в вычтенных минутах. Это управляет тотчас временной шкалой, так, что вычитая одну минуту всегда будет продолжительностью одной минутой ранее. Это может заставить локальную переменную, разовую датой изменяться количеством кроме одной минуты. Отметьте, что это - другой подход к используемому днями, месяцами и годами.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
minutes
- минуты, чтобы вычесть, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с вычтенными минутами, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime minusSeconds(long seconds)
ZonedDateTime
с установленным периодом в вычтенных секундах. Это управляет тотчас временной шкалой, так, что вычитая одну секунду всегда будет продолжительностью одной секундой ранее. Это может заставить локальную переменную, разовую датой изменяться количеством кроме одной секунды. Отметьте, что это - другой подход к используемому днями, месяцами и годами.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
seconds
- секунды, чтобы вычесть, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с вычтенными секундами, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic ZonedDateTime minusNanos(long nanos)
ZonedDateTime
с установленным периодом в вычтенных наносекундах. Это управляет тотчас временной шкалой, так, что вычитая один nano всегда будет продолжительностью одного nano ранее. Это может заставить локальную переменную, разовую датой изменяться количеством кроме одного nano. Отметьте, что это - другой подход к используемому днями, месяцами и годами.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
nanos
- nanos, чтобы вычесть, может быть отрицательнымZonedDateTime
основанный на этом разовом датой с вычтенными наносекундами, не нульDateTimeException
- если результат превышает поддерживаемый диапазон датpublic <R> R query(TemporalQuery<R> query)
Это запрашивает это разовое датой использование указанного объекта стратегии запроса. TemporalQuery
объект определяет логику, которая будет использоваться, чтобы получить результат. Считайте документацию запроса, чтобы понять, каков результат этого метода будет.
Результат этого метода получается, вызывая TemporalQuery.queryFrom(TemporalAccessor)
метод на указанной передаче запроса this
как параметр.
query
в интерфейсе ChronoZonedDateTime<LocalDate>
query
в интерфейсе TemporalAccessor
R
- тип результатаquery
- запрос, чтобы вызвать, не нульDateTimeException
- если неспособный запрашивать (определенный запросом)ArithmeticException
- если числовое переполнение происходит (определенный запросом)public long periodUntil(Temporal endDateTime, TemporalUnit unit)
Это вычисляет количество времени между два ZonedDateTime
объекты с точки зрения сингла TemporalUnit
. Запуск и конечные точки this
и указанное разовое датой. Результат будет отрицателен, если конец будет перед запуском. Например, период в днях между двумя разами может быть вычислен, используя startDateTime.periodUntil(endDateTime, DAYS)
.
Temporal
переданный к этому методу должен быть a ZonedDateTime
. Если часовой пояс отличается между двумя зонными разами, указанное разовое датой окончания нормализуется, чтобы иметь ту же самую зону как это разовое датой.
Вычисление возвращает целое число, представляя число полных модулей между этими двумя разами. Например, период в месяцах между 2012-06-15T00:00Z и 2012-08-14T23:59Z только будет одним месяцем, поскольку это - одна минута за исключением двух месяцев.
Есть два эквивалентных способа использовать этот метод. Первое должно вызвать этот метод. Второе должно использовать TemporalUnit.between(Temporal, Temporal)
:
// these two lines are equivalent amount = start.periodUntil(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
значения выдадут исключение.
Вычисление для даты и единиц измерения времени отличается.
Модули даты работают на локальной временной шкале, используя разовую датой локальную переменную. Например, период с полудня в день 1 к полудню на следующий день в днях будет всегда считаться как точно однажды, независимо от того, было ли изменение перехода на летнее время или нет.
Единицы измерения времени управляют тотчас временной шкалой. Вычисление эффективно преобразовывает и зонируемые времена даты в моменты и затем вычисляет период между моментами. Например, период с полудня в день 1 к полудню на следующий день в часах может быть 23, 24 или 25 часов (или некоторое другое количество) в зависимости от того, было ли изменение перехода на летнее время или нет.
Если модуль не является a ChronoUnit
, тогда результат этого метода получается, вызывая TemporalUnit.between(Temporal, Temporal)
передача this
как первый параметр и ввод, временный как второй параметр.
Этот экземпляр является неизменным и незатронутым этим вызовом метода.
periodUntil
в интерфейсе Temporal
endDateTime
- разовое датой окончания, которое должно быть a ZonedDateTime
, не нульunit
- модуль, чтобы измерить количество в, не нульDateTimeException
- если количество не может быть вычисленоUnsupportedTemporalTypeException
- если модуль не поддерживаетсяArithmeticException
- если числовое переполнение происходитpublic String format(DateTimeFormatter formatter)
Это разовое датой передадут к средству форматирования, чтобы произвести строку.
format
в интерфейсе ChronoZonedDateTime<LocalDate>
formatter
- средство форматирования, чтобы использовать, не нульDateTimeException
- если ошибка происходит во время печатиpublic OffsetDateTime toOffsetDateTime()
OffsetDateTime
. Это создает смещение разовое датой использование разовой датой локальной переменной и смещение. Зональный ID игнорируется.
public boolean equals(Object obj)
Сравнение основано на разовом датой смещении и зона. Только объекты типа ZonedDateTime
сравниваются, другие типы возвращают false.
equals
в интерфейсе ChronoZonedDateTime<LocalDate>
equals
в class Object
obj
- объект проверить, обнулите, возвращает falseObject.hashCode()
, HashMap
public int hashCode()
hashCode
в интерфейсе ChronoZonedDateTime<LocalDate>
hashCode
в class Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public String toString()
String
, такой как 2007-12-03T10:15:30+01:00[Europe/Paris]
. Формат состоит из LocalDateTime
сопровождаемый ZoneOffset
. Если ZoneId
не то же самое как смещение, тогда ID выводится. Вывод является совместимым с ISO 8601, если смещение и ID являются тем же самым.
toString
в интерфейсе ChronoZonedDateTime<LocalDate>
toString
в class Object
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92