Spec-Zone.ru › OpenJDK 25

Класс 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

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

adjustInto, compareTo, format, isAfter, isBefore, isEqual, isLeapYear, isSupported, isSupported, lengthOfYear, query, toEpochDay, toString, until

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

get, 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)
Описание скопировано из интерфейса: 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/time/chrono/MinguoDate.html

Spec-Zone.ru

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