Spec-Zone.ru › OpenJDK 27

Класс MinguoDate

java.lang.Object
java.time.chrono.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<MinguoDate> atTime(LocalTime localTime)
Объединяет эту дату со временем, чтобы создать ChronoLocalDateTime.
boolean equals(Object obj)
Сравнивает эту дату с другой датой, включая хронологию.
static MinguoDate from(TemporalAccessor temporal)
Получает MinguoDate из временного объекта.
MinguoChronology getChronology()
Получает хронологию этой даты, то есть календарную систему Минго.
MinguoEra getEra()
Получает эру, действующую на эту дату.
long getLong(TemporalField field)
Получает значение указанного поля в виде long.
int hashCode()
Хеш-код этой даты.
int lengthOfMonth()
Возвращает длину месяца, представленного этой датой.
MinguoDate minus(long amountToSubtract, TemporalUnit unit)
Возвращает объект того же типа, что и этот объект, с вычтенным указанным периодом.
MinguoDate minus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с вычтенным значением.
static MinguoDate now()
Получает текущую MinguoDate по системным часам в часовом поясе по умолчанию.
static MinguoDate now(Clock clock)
Получает текущую MinguoDate по указанным часам.
static MinguoDate now(ZoneId zone)
Получает текущую MinguoDate по системным часам в указанном часовом поясе.
static MinguoDate of(int prolepticYear, int month, int dayOfMonth)
Получает MinguoDate, представляющую дату в календарной системе Минго, из полей года в пролептическом летоисчислении, месяца года и дня месяца.
MinguoDate plus(long amountToAdd, TemporalUnit unit)
Возвращает объект того же типа, что и этот объект, с добавленным указанным периодом.
MinguoDate plus(TemporalAmount amount)
Возвращает объект того же типа, что и этот объект, с добавленным значением.
String toString()
Выводит эту дату в виде String.
ChronoPeriod until(ChronoLocalDate endDate)
Вычисляет период между этой датой и другой датой в виде ChronoPeriod.
long until(Temporal endExclusive, TemporalUnit unit)
Вычисляет время до другой даты в единицах указанной единицы измерения.
MinguoDate with(TemporalAdjuster adjuster)
Возвращает скорректированный объект того же типа, что и этот объект, с выполненной корректировкой.
MinguoDate with(TemporalField field, long newValue)
Возвращает объект того же типа, что и этот объект, с измененным указанным полем.

Методы, объявленные в классе 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(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного промежутка реального времени.

Методы, объявленные в интерфейсе ChronoLocalDate

adjustInto, compareTo, format, isAfter, isBefore, isEqual, isLeapYear, isSupported, isSupported, lengthOfYear, query, toEpochDay
Модификатор и тип Метод Описание
default Temporal adjustInto(Temporal temporal)
Корректирует указанный временной объект так, чтобы его дата совпадала с датой этого объекта.
default int compareTo(ChronoLocalDate other)
Сравнивает эту дату с другой датой, включая хронологию.
default String format(DateTimeFormatter formatter)
Форматирует эту дату с помощью указанного форматировщика.
default boolean isAfter(ChronoLocalDate other)
Проверяет, находится ли эта дата после указанной даты, не учитывая хронологию.
default boolean isBefore(ChronoLocalDate other)
Проверяет, находится ли эта дата до указанной даты, не учитывая хронологию.
default boolean isEqual(ChronoLocalDate other)
Проверяет, равна ли эта дата указанной дате, не учитывая хронологию.
default boolean isLeapYear()
Проверяет, является ли год високосным согласно календарной системе.
default boolean isSupported(TemporalField field)
Проверяет, поддерживается ли указанное поле.
default boolean isSupported(TemporalUnit unit)
Проверяет, поддерживается ли указанная единица измерения.
default int lengthOfYear()
Возвращает длину года, представленного этой датой, согласно календарной системе.
default <R> R query(TemporalQuery<R> query)
Выполняет запрос к этой дате с помощью указанного запроса.
default long toEpochDay()
Преобразует эту дату в день эпохи.

Методы, объявленные в интерфейсе TemporalAccessor

get, range
Модификатор и тип Метод Описание
default int get(TemporalField field)
Получает значение указанного поля в виде int.
default ValueRange range(TemporalField field)
Получает диапазон допустимых значений для указанного поля.

Подробное описание методов

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)
Описание скопировано из интерфейса: TemporalAccessor
Получает значение указанного поля в виде long.

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

Переопределяет:
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)
Описание скопировано из интерфейса: ChronoLocalDate
Объединяет эту дату со временем, чтобы создать ChronoLocalDateTime.

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

Переопределяет:
atTime в интерфейсе ChronoLocalDate
Параметры:
localTime — местное время, которое нужно использовать; не null
Возвращает:
местные дату и время, образованные этой датой и указанным временем; не null

until

public ChronoPeriod until(ChronoLocalDate endDate)
Описание скопировано из интерфейса: ChronoLocalDate
Вычисляет период между этой датой и другой датой в виде ChronoPeriod.

Вычисляет период между двумя датами. Все предоставленные хронологии вычисляют период в годах, месяцах и днях, однако 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, если эта дата равна другой дате
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Хэш-код этой даты.
Переопределяет:
hashCode в интерфейсе ChronoLocalDate
Возвращает:
подходящий хэш-код, основанный только на хронологии и дате
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

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()
Описание скопировано из интерфейса: ChronoLocalDate
Выводит эту дату в виде String.

Вывод будет содержать полную местную дату.

Переопределяет:
toString в интерфейсе ChronoLocalDate
Переопределяет:
toString в классе Object
Возвращает:
отформатированную дату; не null

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, в том числе общие сведения, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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