Класс 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 |
Возвращает объект того же типа, что и этот объект, изменив указанное поле. |
Методы, объявленные в интерфейсе 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)
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/time/chrono/MinguoDate.html