Класс MinguoDate
- Все реализуемые интерфейсы:
Serializable, Comparable<ChronoLocalDate>, ChronoLocalDate, Temporal, TemporalAccessor, TemporalAdjuster
public final class MinguoDate extends Object implements ChronoLocalDate, Serializable
Эта дата использует календарь Минго. Эта календарная система преимущественно используется в Китайской Республике, часто называемой Тайванем. Даты соотнесены таким образом, что 0001-01-01 (Minguo) — это 1912-01-01 (ISO).
Это класс, основанный на значениях; программистам следует считать экземпляры, которые равны, взаимозаменяемыми и не использовать экземпляры для синхронизации, иначе возможно непредсказуемое поведение. Например, в одном из будущих выпусков синхронизация может завершиться неудачей. Для сравнений следует использовать метод equals.
- Требования к реализации:
- Этот класс является неизменяемым и потокобезопасным.
- С версии:
- 1.8
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final ChronoLocalDateTime |
atTime |
Объединяет эту дату со временем, чтобы создать ChronoLocalDateTime. |
boolean |
equals |
Сравнивает эту дату с другой датой, включая хронологию. |
static MinguoDate |
from |
Получает MinguoDate из временного объекта. |
MinguoChronology |
getChronology() |
Получает хронологию этой даты, то есть календарную систему Минго. |
MinguoEra |
getEra() |
Получает эру, действующую на эту дату. |
long |
getLong |
Получает значение указанного поля в виде long. |
int |
hashCode() |
Хеш-код этой даты. |
int |
lengthOfMonth() |
Возвращает длину месяца, представленного этой датой. |
MinguoDate |
minus |
Возвращает объект того же типа, что и этот объект, с вычтенным указанным периодом. |
MinguoDate |
minus |
Возвращает объект того же типа, что и этот объект, с вычтенным значением. |
static MinguoDate |
now() |
Получает текущую MinguoDate по системным часам в часовом поясе по умолчанию. |
static MinguoDate |
now |
Получает текущую MinguoDate по указанным часам. |
static MinguoDate |
now |
Получает текущую MinguoDate по системным часам в указанном часовом поясе. |
static MinguoDate |
of |
Получает MinguoDate, представляющую дату в календарной системе Минго, из полей года в пролептическом летоисчислении, месяца года и дня месяца. |
MinguoDate |
plus |
Возвращает объект того же типа, что и этот объект, с добавленным указанным периодом. |
MinguoDate |
plus |
Возвращает объект того же типа, что и этот объект, с добавленным значением. |
String |
toString() |
Выводит эту дату в виде String. |
ChronoPeriod |
until |
Вычисляет период между этой датой и другой датой в виде ChronoPeriod. |
long |
until |
Вычисляет время до другой даты в единицах указанной единицы измерения. |
MinguoDate |
with |
Возвращает скорректированный объект того же типа, что и этот объект, с выполненной корректировкой. |
MinguoDate |
with |
Возвращает объект того же типа, что и этот объект, с измененным указанным полем. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени. |
Методы, объявленные в интерфейсе ChronoLocalDate
adjustInto, compareTo, format, isAfter, isBefore, isEqual, isLeapYear, isSupported, isSupported, lengthOfYear, query, toEpochDay | Модификатор и тип | Метод | Описание |
|---|---|---|
default Temporal |
adjustInto |
Корректирует указанный временной объект так, чтобы его дата совпадала с датой этого объекта. |
default int |
compareTo |
Сравнивает эту дату с другой датой, включая хронологию. |
default String |
format |
Форматирует эту дату с помощью указанного форматировщика. |
default boolean |
isAfter |
Проверяет, находится ли эта дата после указанной даты, не учитывая хронологию. |
default boolean |
isBefore |
Проверяет, находится ли эта дата до указанной даты, не учитывая хронологию. |
default boolean |
isEqual |
Проверяет, равна ли эта дата указанной дате, не учитывая хронологию. |
default boolean |
isLeapYear() |
Проверяет, является ли год високосным согласно календарной системе. |
default boolean |
isSupported |
Проверяет, поддерживается ли указанное поле. |
default boolean |
isSupported |
Проверяет, поддерживается ли указанная единица измерения. |
default int |
lengthOfYear() |
Возвращает длину года, представленного этой датой, согласно календарной системе. |
default <R> R |
query |
Выполняет запрос к этой дате с помощью указанного запроса. |
default long |
toEpochDay() |
Преобразует эту дату в день эпохи. |
Методы, объявленные в интерфейсе TemporalAccessor
get, range | Модификатор и тип | Метод | Описание |
|---|---|---|
default int |
get |
Получает значение указанного поля в виде int. |
default ValueRange |
range |
Получает диапазон допустимых значений для указанного поля. |
Подробное описание методов
now
public static MinguoDate now()
MinguoDate из системных часов в часовом поясе по умолчанию. Для получения текущей даты будет выполнен запрос к system clock в часовом поясе по умолчанию.
Использование этого метода не позволяет применять альтернативные часы для тестирования, поскольку часы заданы непосредственно в коде.
- Возвращает:
- текущую дату, полученную с использованием системных часов и часового пояса по умолчанию; не null
now
public static MinguoDate now(ZoneId zone)
MinguoDate из системных часов в указанном часовом поясе. Для получения текущей даты будет выполнен запрос к system clock. Указание часового пояса позволяет не зависеть от часового пояса по умолчанию.
Использование этого метода не позволяет применять альтернативные часы для тестирования, поскольку часы заданы непосредственно в коде.
- Параметры:
-
zone— идентификатор часового пояса, который следует использовать; не null - Возвращает:
- текущую дату, полученную с использованием системных часов; не null
now
public static MinguoDate now(Clock clock)
MinguoDate с использованием указанных часов. Для получения текущей даты (сегодняшнего дня) будет выполнен запрос к указанным часам. Этот метод позволяет использовать альтернативные часы для тестирования. Альтернативные часы можно передать с помощью внедрения зависимостей.
- Параметры:
-
clock— часы, которые следует использовать; не null - Возвращает:
- текущую дату; не null
- Вызывает:
-
DateTimeException— если не удается получить текущую дату
of
public static MinguoDate of(int prolepticYear, int month, int dayOfMonth)
MinguoDate, представляющую дату в календарной системе Минго, из полей пролептического года, месяца года и дня месяца. Возвращает MinguoDate с указанными полями. День должен быть допустимым для данного года и месяца, иначе будет выброшено исключение.
- Параметры:
-
prolepticYear— пролептический год Минго -
month— месяц года Минго, от 1 до 12 -
dayOfMonth— день месяца Минго, от 1 до 31 - Возвращает:
- дату в календарной системе Минго; не null
- Вызывает:
-
DateTimeException— если значение любого поля выходит за допустимый диапазон или день месяца недопустим для указанного месяца и года
from
public static MinguoDate from(TemporalAccessor temporal)
MinguoDate из временного объекта. Получает дату в календарной системе Минго на основе указанного временного объекта. TemporalAccessor представляет произвольный набор сведений о дате и времени, который эта фабрика преобразует в экземпляр MinguoDate.
Для преобразования обычно используется поле EPOCH_DAY, стандартизированное для всех календарных систем.
Сигнатура этого метода соответствует сигнатуре функционального интерфейса TemporalQuery, поэтому его можно использовать в качестве запроса посредством ссылки на метод: MinguoDate::from.
- Параметры:
-
temporal— временной объект для преобразования; не null - Возвращает:
- дату в календарной системе Минго; не null
- Вызывает:
-
DateTimeException— если не удается преобразовать значение вMinguoDate
getChronology
public MinguoChronology getChronology()
Chronology представляет используемую календарную систему. Эра и другие поля в ChronoField определяются хронологией.
- Переопределяет:
-
getChronologyв интерфейсеChronoLocalDate - Возвращает:
- хронологию Минго; не null
getEra
public MinguoEra getEra()
В календарной системе Минго две эры — «ROC» и «BEFORE_ROC», определенные в MinguoEra.
- Переопределяет:
-
getEraв интерфейсеChronoLocalDate - Возвращает:
- эру, действующую на эту дату; не null
lengthOfMonth
public int lengthOfMonth()
Возвращает продолжительность месяца в днях. Продолжительность месяцев совпадает с продолжительностью месяцев в календарной системе ISO.
- Переопределяет:
-
lengthOfMonthв интерфейсеChronoLocalDate - Возвращает:
- продолжительность месяца в днях
getLong
public long getLong(TemporalField field)
TemporalAccessorlong. Запрашивает у даты и времени значение указанного поля. Возвращаемое значение может выходить за допустимый диапазон значений этого поля. Если дату и время невозможно вернуть, поскольку поле не поддерживается или по какой-либо иной причине, будет выброшено исключение.
- Переопределяет:
-
getLongв интерфейсеTemporalAccessor - Параметры:
-
field— поле, значение которого нужно получить; не null - Возвращает:
- значение поля
with
public MinguoDate with(TemporalField field, long newValue)
Temporal Возвращает новый объект на основе этого объекта, в котором изменено значение указанного поля. Например, для LocalDate этот метод можно использовать для установки года, месяца или дня месяца. Возвращенный объект будет иметь тот же наблюдаемый тип, что и этот объект.
В некоторых случаях изменение поля определено не полностью. Например, если целевой объект — дата, соответствующая 31 января, изменение месяца на февраль неоднозначно. В таких случаях поле отвечает за определение результата. Обычно выбирается предыдущая допустимая дата — в данном примере последний допустимый день февраля.
- Переопределяет:
-
withв интерфейсеChronoLocalDate - Переопределяет:
-
withв интерфейсеTemporal - Параметры:
-
field— поле, которое нужно установить в результате; не null -
newValue— новое значение поля в результате - Возвращает:
- объект того же типа с установленным значением указанного поля; не null
with
public MinguoDate with(TemporalAdjuster adjuster)
Корректирует дату и время согласно правилам указанного средства корректировки. Простое средство корректировки может лишь установить одно из полей, например поле года. Более сложное средство корректировки может установить дату на последний день месяца. Набор распространенных корректировок доступен в TemporalAdjusters. К ним относятся поиск «последнего дня месяца» и «следующей среды». Средство корректировки отвечает за обработку особых случаев, таких как разная продолжительность месяцев и високосные годы.
Ниже приведены примеры кода, показывающие, как и зачем используется этот метод:
date = date.with(Month.JULY); // most key classes implement TemporalAdjuster date = date.with(lastDayOfMonth()); // static import from Adjusters date = date.with(next(WEDNESDAY)); // static import from Adjusters and DayOfWeek
- Переопределяет:
-
withв интерфейсеChronoLocalDate - Переопределяет:
-
withв интерфейсеTemporal - Параметры:
-
adjuster— средство корректировки, которое следует использовать; не null - Возвращает:
- объект того же типа с указанной корректировкой; не null
- Вызывает:
-
DateTimeException— если выполнить корректировку не удается -
ArithmeticException— при переполнении числового значения
plus
public MinguoDate plus(TemporalAmount amount)
Корректирует это временное значение, добавляя указанную величину согласно ее правилам. Обычно этой величиной является Period, однако это может быть любой другой тип, реализующий интерфейс TemporalAmount, например Duration.
Ниже приведены примеры кода, показывающие, как и зачем используется этот метод:
date = date.plus(period); // add a Period instance date = date.plus(duration); // add a Duration instance date = date.plus(workingDays(6)); // example user-written workingDays method
Обратите внимание: вызов plus, за которым следует minus, не гарантирует возврата той же даты и времени.
- Переопределяет:
-
plusв интерфейсеChronoLocalDate - Переопределяет:
-
plusв интерфейсеTemporal - Параметры:
-
amount— величина, которую нужно добавить; не null - Возвращает:
- объект того же типа с указанной корректировкой; не null
- Вызывает:
-
DateTimeException— если выполнить сложение не удается -
ArithmeticException— при переполнении числового значения
minus
public MinguoDate minus(TemporalAmount amount)
Корректирует это временное значение, вычитая указанную величину согласно ее правилам. Обычно этой величиной является Period, однако это может быть любой другой тип, реализующий интерфейс TemporalAmount, например Duration.
Ниже приведены примеры кода, показывающие, как и зачем используется этот метод:
date = date.minus(period); // subtract a Period instance date = date.minus(duration); // subtract a Duration instance date = date.minus(workingDays(6)); // example user-written workingDays method
Обратите внимание: вызов plus, за которым следует minus, не гарантирует возврата той же даты и времени.
- Переопределяет:
-
minusв интерфейсеChronoLocalDate - Переопределяет:
-
minusв интерфейсеTemporal - Параметры:
-
amount— величина, которую нужно вычесть; не null - Возвращает:
- объект того же типа с указанной корректировкой; не null
- Вызывает:
-
DateTimeException— если выполнить вычитание не удается -
ArithmeticException— при переполнении числового значения
plus
public MinguoDate plus(long amountToAdd, TemporalUnit unit)
Temporal Этот метод возвращает новый объект на основе этого объекта с добавленным указанным периодом. Например, для LocalDate его можно использовать для добавления заданного количества лет, месяцев или дней. Возвращенный объект будет иметь тот же наблюдаемый тип, что и этот объект.
В некоторых случаях изменение поля определено не полностью. Например, если целевой объект — дата, соответствующая 31 января, добавление одного месяца неоднозначно. В таких случаях поле отвечает за определение результата. Обычно выбирается предыдущая допустимая дата — в данном примере последний допустимый день февраля.
- Переопределяет:
-
plusв интерфейсеChronoLocalDate - Переопределяет:
-
plusв интерфейсеTemporal - Параметры:
-
amountToAdd— количество единиц указанного типа, которое нужно добавить; может быть отрицательным -
unit— единица измерения величины, которую нужно добавить; не null - Возвращает:
- объект того же типа с добавленным указанным периодом; не null
minus
public MinguoDate minus(long amountToSubtract, TemporalUnit unit)
Temporal Этот метод возвращает новый объект на основе этого объекта с вычтенным указанным периодом. Например, для LocalDate его можно использовать для вычитания заданного количества лет, месяцев или дней. Возвращенный объект будет иметь тот же наблюдаемый тип, что и этот объект.
В некоторых случаях изменение поля определено не полностью. Например, если целевой объект — дата, соответствующая 31 марта, вычитание одного месяца неоднозначно. В таких случаях поле отвечает за определение результата. Обычно выбирается предыдущая допустимая дата — в данном примере последний допустимый день февраля.
- Переопределяет:
-
minusв интерфейсеChronoLocalDate - Переопределяет:
-
minusв интерфейсеTemporal - Параметры:
-
amountToSubtract— количество единиц указанного типа, которое нужно вычесть; может быть отрицательным -
unit— единица измерения величины, которую нужно вычесть; не null - Возвращает:
- объект того же типа с вычтенным указанным периодом; не null
atTime
public final ChronoLocalDateTime<MinguoDate> atTime(LocalTime localTime)
ChronoLocalDateChronoLocalDateTime. Возвращает ChronoLocalDateTime, образованную этой датой и указанным временем. Допустимы все возможные сочетания даты и времени.
- Переопределяет:
-
atTimeв интерфейсеChronoLocalDate - Параметры:
-
localTime— местное время, которое нужно использовать; не null - Возвращает:
- местные дату и время, образованные этой датой и указанным временем; не null
until
public ChronoPeriod until(ChronoLocalDate endDate)
ChronoLocalDateChronoPeriod. Вычисляет период между двумя датами. Все предоставленные хронологии вычисляют период в годах, месяцах и днях, однако API ChronoPeriod позволяет представлять период в других единицах.
Начальной точкой является this, а конечной — указанная дата. Результат будет отрицательным, если конечная дата предшествует начальной. Знак будет одинаковым для значений лет, месяцев и дней.
Вычисление выполняется с использованием хронологии этой даты. При необходимости входная дата будет преобразована в соответствующую хронологию.
Этот экземпляр неизменяем и не изменяется при вызове данного метода.
- Переопределяет:
-
untilв интерфейсеChronoLocalDate - Параметры:
-
endDate— конечная дата, не включаемая в период; может относиться к любой хронологии; не null - Возвращает:
- период между этой датой и конечной датой; не null
equals
public boolean equals(Object obj)
Сравнивает эту MinguoDate с другой, проверяя, совпадают ли даты.
Сравниваются только объекты типа MinguoDate, для объектов других типов возвращается false. Чтобы сравнить даты двух экземпляров TemporalAccessor, в том числе даты в разных хронологиях, используйте ChronoField.EPOCH_DAY в качестве компаратора.
- Переопределяет:
-
equalsв интерфейсеChronoLocalDate - Параметры:
-
obj— объект для проверки; для null возвращается false - Возвращает:
- true, если эта дата равна другой дате
- См. также:
hashCode
public int hashCode()
- Переопределяет:
-
hashCodeв интерфейсеChronoLocalDate - Возвращает:
- подходящий хэш-код, основанный только на хронологии и дате
- См. также:
until
public long until(Temporal endExclusive, TemporalUnit unit)
ChronoLocalDate Вычисляет промежуток времени между двумя объектами ChronoLocalDate в одной TemporalUnit. Начальной точкой является this, а конечной — указанная дата. Результат будет отрицательным, если конечная дата предшествует начальной. Переданная этому методу величина Temporal преобразуется в ChronoLocalDate с помощью Chronology.date(TemporalAccessor). Вычисление возвращает целое число, представляющее количество полных единиц между двумя датами. Например, промежуток в днях между двумя датами можно вычислить с помощью startDate.until(endDate, DAYS).
Этот метод можно использовать двумя равнозначными способами. Первый — вызвать этот метод. Второй — использовать TemporalUnit.between(Temporal, Temporal):
// these two lines are equivalent amount = start.until(end, MONTHS); amount = MONTHS.between(start, end);Выбор следует делать исходя из того, какой вариант делает код более понятным.
Для ChronoUnit вычисление реализовано в этом методе. Все реализации должны поддерживать единицы DAYS, WEEKS, MONTHS, YEARS, DECADES, CENTURIES, MILLENNIA и ERAS. Для других значений ChronoUnit будет выброшено исключение.
Если единица не является ChronoUnit, результат этого метода получается путем вызова TemporalUnit.between(Temporal, Temporal) с передачей this в качестве первого аргумента, а преобразованного входного временного значения — в качестве второго аргумента.
Этот экземпляр неизменяем и не изменяется при вызове данного метода.
- Переопределяет:
-
untilв интерфейсеChronoLocalDate - Переопределяет:
-
untilв интерфейсеTemporal - Параметры:
-
endExclusive— конечная дата, не включаемая в период; преобразуется вChronoLocalDateтой же хронологии; не null -
unit— единица измерения времени; не null - Возвращает:
- промежуток времени между этой датой и конечной датой
toString
public String toString()
ChronoLocalDateString. Вывод будет содержать полную местную дату.
- Переопределяет:
-
toStringв интерфейсеChronoLocalDate - Переопределяет:
-
toStringв классеObject - Возвращает:
- отформатированную дату; не null
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.