Класс MinguoChronology
- Все реализуемые интерфейсы:
Serializable, Comparable<Chronology>, Chronology
public final class MinguoChronology extends AbstractChronology implements Serializable
Эта хронология определяет правила календарной системы Минго. Эта календарная система используется преимущественно в Китайской Республике, также известной как Тайвань. Даты согласованы таким образом, что 0001-01-01 (Minguo) — это 1912-01-01 (ISO).
Поля определены следующим образом:
- эра — существуют две эры: текущая «Республика» (ERA_ROC) и предыдущая эра (ERA_BEFORE_ROC).
- год эры — для текущей эры значение года эры равномерно увеличивается, начиная с эпохи и года один. Для предыдущей эры значение года увеличивается от единицы по мере движения времени назад. Значение для текущей эры равно пролептическому году ISO минус 1911.
- пролептический год — для текущей эры пролептический год совпадает с годом эры. Для предыдущей эры годы включают ноль, а затем отрицательные значения. Значение равно пролептическому году ISO минус 1911.
- месяц года — месяц года календаря Минго в точности соответствует ISO.
- день месяца — день месяца календаря Минго в точности соответствует ISO.
- день года — день года календаря Минго в точности соответствует ISO.
- високосный год — правило определения високосных лет в календаре Минго в точности соответствует ISO, поэтому календари никогда не расходятся.
- Требования к реализации:
- Этот класс неизменяемый и потокобезопасный.
- С версии:
- 1.8
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final MinguoChronology |
INSTANCE |
Экземпляр-одиночка хронологии Минго. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
MinguoDate |
date |
Получает локальную дату календарной системы Минго по полям пролептического года, месяца года и дня месяца. |
MinguoDate |
date |
Получает локальную дату календарной системы Минго по полям эры, года эры, месяца года и дня месяца. |
MinguoDate |
date |
Получает локальную дату этой хронологии из другого объекта временных данных. |
MinguoDate |
dateEpochDay |
Получает локальную дату календарной системы Минго по дню эпохи. |
MinguoDate |
dateNow() |
Получает текущую локальную дату этой хронологии по системным часам в часовом поясе по умолчанию. |
MinguoDate |
dateNow |
Получает текущую локальную дату этой хронологии по указанным часам. |
MinguoDate |
dateNow |
Получает текущую локальную дату этой хронологии по системным часам в указанном часовом поясе. |
MinguoDate |
dateYearDay |
Получает локальную дату календарной системы Минго по полям пролептического года и дня года. |
MinguoDate |
dateYearDay |
Получает локальную дату календарной системы Минго по полям эры, года эры и дня года. |
MinguoEra |
eraOf |
Создает объект эры хронологии из числового значения. |
List |
eras() |
Получает список эр хронологии. |
String |
getCalendarType() |
Получает тип календаря базовой календарной системы — «roc». |
String |
getId() |
Получает идентификатор хронологии — «Minguo». |
boolean |
isIsoBased() |
MinguoChronology — хронология, основанная на ISO, которая поддерживает поля из IsoFields, такие как DAY_OF_QUARTER и QUARTER_OF_YEAR. |
boolean |
isLeapYear |
Проверяет, является ли указанный год високосным. |
ChronoLocalDateTime |
localDateTime |
Получает локальные дату и время этой хронологии из другого объекта временных данных. |
int |
prolepticYear |
Вычисляет пролептический год по эре и году эры. |
ValueRange |
range |
Получает диапазон допустимых значений указанного поля. |
MinguoDate |
resolveDate |
Преобразует разобранные значения ChronoField в дату в процессе разбора. |
ChronoZonedDateTime |
zonedDateTime |
Получает ChronoZonedDateTime в этой хронологии из Instant. |
ChronoZonedDateTime |
zonedDateTime |
Получает ChronoZonedDateTime в этой хронологии из другого объекта временных данных. |
Методы, объявленные в классе AbstractChronology
compareTo, equals, hashCode, toString
Методы, объявленные в интерфейсе Chronology
epochSecond, epochSecond, getDisplayName, period
Подробное описание полей
INSTANCE
public static final MinguoChronology INSTANCE
Подробное описание методов
getId
public String getId()
Идентификатор однозначно определяет Chronology. Его можно использовать для поиска Chronology с помощью Chronology.of(String).
- Определено в:
-
getIdв интерфейсеChronology - Возвращает:
- идентификатор летоисчисления — 'Minguo'
- См. также:
getCalendarType
public String getCalendarType()
Тип календаря — это идентификатор, определенный спецификацией языка разметки данных локали Unicode (LDML). Его можно использовать для поиска Chronology с помощью Chronology.of(String). Его также можно использовать как часть локали; к нему можно обратиться с помощью Locale.getUnicodeLocaleType(String) с ключом 'ca'.
- Определено в:
-
getCalendarTypeв интерфейсеChronology - Возвращает:
- тип календарной системы — 'roc'
- См. также:
date
public MinguoDate date(Era era, int yearOfEra, int month, int dayOfMonth)
- Определено в:
-
dateв интерфейсеChronology - Параметры:
-
era— эра Минго, не null -
yearOfEra— год эры -
month— месяц года -
dayOfMonth— день месяца - Возвращает:
- локальную дату Минго, не null
- Вызывает исключение:
-
DateTimeException— если не удается создать дату -
ClassCastException— еслиeraне являетсяMinguoEra
date
public MinguoDate date(int prolepticYear, int month, int dayOfMonth)
- Определено в:
-
dateв интерфейсеChronology - Параметры:
-
prolepticYear— пролептический год -
month— месяц года -
dayOfMonth— день месяца - Возвращает:
- локальную дату Минго, не null
- Вызывает исключение:
-
DateTimeException— если не удается создать дату
dateYearDay
public MinguoDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
- Определено в:
-
dateYearDayв интерфейсеChronology - Параметры:
-
era— эра Минго, не null -
yearOfEra— год эры -
dayOfYear— день года - Возвращает:
- локальную дату Минго, не null
- Вызывает исключение:
-
DateTimeException— если не удается создать дату -
ClassCastException— еслиeraне являетсяMinguoEra
dateYearDay
public MinguoDate dateYearDay(int prolepticYear, int dayOfYear)
- Определено в:
-
dateYearDayв интерфейсеChronology - Параметры:
-
prolepticYear— пролептический год -
dayOfYear— день года - Возвращает:
- локальную дату Минго, не null
- Вызывает исключение:
-
DateTimeException— если не удается создать дату
dateEpochDay
public MinguoDate dateEpochDay(long epochDay)
- Определено в:
-
dateEpochDayв интерфейсеChronology - Параметры:
-
epochDay— день эпохи - Возвращает:
- локальную дату Минго, не null
- Вызывает исключение:
-
DateTimeException— если не удается создать дату
dateNow
public MinguoDate dateNow()
Chronology Для получения текущей даты используется system clock в часовом поясе по умолчанию.
Использование этого метода не позволяет применять альтернативные часы для тестирования, поскольку используемые часы заданы явно.
- Определено в:
-
dateNowв интерфейсеChronology - Возвращает:
- текущую локальную дату по системным часам и в часовом поясе по умолчанию, не null
dateNow
public MinguoDate dateNow(ZoneId zone)
Chronology Для получения текущей даты используется system clock. Указание часового пояса исключает зависимость от часового пояса по умолчанию.
Использование этого метода не позволяет применять альтернативные часы для тестирования, поскольку используемые часы заданы явно.
- Определено в:
-
dateNowв интерфейсеChronology - Параметры:
-
zone— идентификатор часового пояса, который нужно использовать, не null - Возвращает:
- текущую локальную дату по системным часам, не null
dateNow
public MinguoDate dateNow(Clock clock)
Chronology Для получения текущей даты — сегодняшнего дня — используются указанные часы. Этот метод позволяет использовать альтернативные часы для тестирования. Альтернативные часы можно задать с помощью dependency injection.
- Определено в:
-
dateNowв интерфейсеChronology - Параметры:
-
clock— часы, которые нужно использовать, не null - Возвращает:
- текущую локальную дату, не null
date
public MinguoDate date(TemporalAccessor temporal)
Chronology Метод получает дату в этом летоисчислении на основе указанного объекта temporal. TemporalAccessor представляет произвольный набор сведений о дате и времени, который эта фабрика преобразует в экземпляр ChronoLocalDate.
При преобразовании обычно используется поле EPOCH_DAY, стандартизированное для всех календарных систем.
Сигнатура этого метода соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса через ссылку на метод, aChronology::date.
- Определено в:
-
dateв интерфейсеChronology - Параметры:
-
temporal— объект temporal для преобразования, не null - Возвращает:
- локальную дату в этом летоисчислении, не null
- См. также:
localDateTime
public ChronoLocalDateTime<MinguoDate> localDateTime(TemporalAccessor temporal)
Chronology Метод получает дату и время в этом летоисчислении на основе указанного объекта temporal. TemporalAccessor представляет произвольный набор сведений о дате и времени, который эта фабрика преобразует в экземпляр ChronoLocalDateTime.
При преобразовании из объекта temporal извлекаются и объединяются ChronoLocalDate и LocalTime. Реализациям разрешено выполнять оптимизации, например обращаться к полям, эквивалентным соответствующим объектам. Результат использует это летоисчисление.
Сигнатура этого метода соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса через ссылку на метод, aChronology::localDateTime.
- Определено в:
-
localDateTimeв интерфейсеChronology - Параметры:
-
temporal— объект temporal для преобразования, не null - Возвращает:
- локальные дату и время в этом летоисчислении, не null
- См. также:
zonedDateTime
public ChronoZonedDateTime<MinguoDate> zonedDateTime(TemporalAccessor temporal)
ChronologyChronoZonedDateTime в этом летоисчислении из другого объекта temporal. Метод получает дату и время с часовым поясом в этом летоисчислении на основе указанного объекта temporal. TemporalAccessor представляет произвольный набор сведений о дате и времени, который эта фабрика преобразует в экземпляр ChronoZonedDateTime.
Сначала при преобразовании из объекта temporal будет получено ZoneId, а при необходимости — ZoneOffset. Затем будет предпринята попытка получить Instant, а при необходимости — ChronoLocalDateTime. Результатом будет либо сочетание ZoneId или ZoneOffset с Instant или ChronoLocalDateTime. Реализациям разрешено выполнять оптимизации, например обращаться к полям, эквивалентным соответствующим объектам. Результат использует это летоисчисление.
Сигнатура этого метода соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса через ссылку на метод, aChronology::zonedDateTime.
- Определено в:
-
zonedDateTimeв интерфейсеChronology - Параметры:
-
temporal— объект temporal для преобразования, не null - Возвращает:
- дату и время с часовым поясом в этом летоисчислении, не null
- См. также:
zonedDateTime
public ChronoZonedDateTime<MinguoDate> zonedDateTime(Instant instant, ZoneId zone)
ChronologyChronoZonedDateTime в этом летоисчислении из Instant. Метод получает дату и время с часовым поясом с тем же моментом времени, что и указанный.
- Определено в:
-
zonedDateTimeв интерфейсеChronology - Параметры:
-
instant— момент времени, на основе которого создаются дата и время, не null -
zone— часовой пояс, не null - Возвращает:
- дату и время с часовым поясом, не null
isLeapYear
public boolean isLeapYear(long prolepticYear)
Високосные годы в летоисчислении Минго полностью совпадают с високосными годами ISO. Этот метод не проверяет переданное значение года и дает определенный результат только для годов в поддерживаемом диапазоне.
- Определено в:
-
isLeapYearв интерфейсеChronology - Параметры:
-
prolepticYear— проверяемый пролептический год; диапазон не проверяется - Возвращает:
- true, если год високосный
prolepticYear
public int prolepticYear(Era era, int yearOfEra)
ChronologyМетод объединяет эру и год эры в единое поле пролептического года.
Если летоисчисление активно использует эры, как, например, JapaneseChronology, год эры проверяется на соответствие эре. Для других летоисчислений проверка необязательна.
- Определено в:
-
prolepticYearв интерфейсеChronology - Параметры:
-
era— эра правильного для летоисчисления типа, не null -
yearOfEra— год эры в этом летоисчислении - Возвращает:
- пролептический год
eraOf
public MinguoEra eraOf(int eraValue)
ChronologyЭра — это, концептуально, самое крупное деление временной шкалы. В большинстве календарных систем есть одна эпоха, разделяющая временную шкалу на две эры. Однако некоторые системы имеют несколько эр, например по одной для правления каждого правителя. Точное значение определяется летоисчислением с учетом следующих ограничений.
Эра, действовавшая на 1970-01-01, должна иметь значение 1. Более поздние эры должны иметь последовательно возрастающие значения. Более ранние эры должны иметь последовательно убывающие значения. Для представления значений эр каждое летоисчисление должно использовать перечисление или аналогичный синглтон.
Метод возвращает эру-синглтон правильного типа для указанного значения эры.
- Определено в:
-
eraOfв интерфейсеChronology - Параметры:
-
eraValue— значение эры - Возвращает:
- эру календарной системы, не null
eras
public List<Era> eras()
ChronologyВ большинстве календарных систем есть эра, в рамках которой имеет значение год. Если календарная система не поддерживает понятие эр, необходимо вернуть пустой список.
- Определено в:
-
erasв интерфейсеChronology - Возвращает:
- список эр этого летоисчисления; может быть неизменяемым, не null
range
public ValueRange range(ChronoField field)
Chronology Все поля можно представить в виде целого числа long. Этот метод возвращает объект, описывающий допустимый диапазон этого значения.
Обратите внимание, что результат описывает только минимальное и максимальное допустимые значения, и не следует делать на их основе слишком далеко идущие выводы. Например, в диапазоне могут быть значения, недопустимые для этого поля.
Этот метод возвращает результат независимо от того, поддерживает ли летоисчисление это поле.
- Определено в:
-
rangeв интерфейсеChronology - Параметры:
-
field— поле, для которого нужно получить диапазон, не null - Возвращает:
- диапазон допустимых значений поля, не null
resolveDate
public MinguoDate resolveDate(Map<TemporalField, Long> fieldValues, ResolverStyle resolverStyle)
AbstractChronologyChronoField в дату во время разбора. Большинство реализаций TemporalField разрешаются с помощью метода resolve в поле. Напротив, класс ChronoField определяет поля, имеющие значение только относительно летоисчисления. Поэтому здесь разрешаются поля даты ChronoField в контексте конкретного летоисчисления.
Экземпляры ChronoField разрешаются этим методом, который можно переопределить в подклассах.
-
EPOCH_DAY— если присутствует, преобразуется в дату, после чего все остальные поля даты сверяются с этой датой. -
PROLEPTIC_MONTH— если присутствует, разбивается наYEARиMONTH_OF_YEAR. В строгом или интеллектуальном режиме поле проверяется. -
YEAR_OF_ERAиERA— если присутствуют оба поля, они объединяются вYEAR. В нестрогом режиме диапазонYEAR_OF_ERAне проверяется, а в интеллектуальном и строгом режимах проверяется. ДиапазонERAпроверяется во всех трех режимах. Если присутствует толькоYEAR_OF_ERA, а режим интеллектуальный или нестрогий, предполагается последняя доступная эра. В строгом режиме эра не предполагается, аYEAR_OF_ERAостается без изменений. Если присутствует толькоERA, оно остается без изменений. -
YEAR,MONTH_OF_YEARиDAY_OF_MONTH— если присутствуют все три поля, они объединяются в дату. Во всех трех режимах проверяетсяYEAR. В интеллектуальном или строгом режиме проверяются месяц и день. В нестрогом режиме дата объединяется так, как если бы она создавалась для первого дня первого месяца указанного года, после чего к ней добавлялась разница в месяцах, а затем разница в днях. В интеллектуальном режиме, если день месяца больше максимального значения для данного года и месяца, день месяца корректируется до последнего дня месяца. В строгом режиме три поля должны образовывать допустимую дату. -
YEARиDAY_OF_YEAR— если присутствуют оба поля, они объединяются в дату. Во всех трех режимах проверяетсяYEAR. В нестрогом режиме дата объединяется так, как если бы она создавалась для первого дня указанного года, после чего к ней добавлялась разница в днях. В интеллектуальном или строгом режиме эти два поля должны образовывать допустимую дату. -
YEAR,MONTH_OF_YEAR,ALIGNED_WEEK_OF_MONTHиALIGNED_DAY_OF_WEEK_IN_MONTH— если присутствуют все четыре поля, они объединяются в дату. Во всех трех режимах проверяетсяYEAR. В нестрогом режиме дата объединяется так, как если бы она создавалась для первого дня первого месяца указанного года, после чего к ней добавлялась разница в месяцах, затем в неделях, а затем в днях. В интеллектуальном или строгом режиме все четыре поля проверяются на соответствие своим внешним диапазонам. Затем дата объединяется так, как если бы она создавалась для первого дня указанного года и месяца, после чего к ней добавлялось количество недель и дней, необходимое для получения их значений. В строгом режиме дополнительно проверяется, не изменили ли корректировки дня и недели месяц. -
YEAR,MONTH_OF_YEAR,ALIGNED_WEEK_OF_MONTHиDAY_OF_WEEK— если присутствуют все четыре поля, они объединяются в дату. Используется тот же подход, что и описанный выше для года, месяцев и недель вALIGNED_DAY_OF_WEEK_IN_MONTH. После обработки года, месяцев и недель день недели корректируется до следующего совпадающего дня недели или остается без изменения, если он уже совпадает. -
YEAR,ALIGNED_WEEK_OF_YEARиALIGNED_DAY_OF_WEEK_IN_YEAR— если присутствуют все три поля, они объединяются в дату. Во всех трех режимах проверяетсяYEAR. В нестрогом режиме дата объединяется так, как если бы она создавалась для первого дня указанного года, после чего к ней добавлялась разница в неделях, а затем в днях. В интеллектуальном или строгом режиме все три поля проверяются на соответствие своим внешним диапазонам. Затем дата объединяется так, как если бы она создавалась для первого дня указанного года, после чего к ней добавлялось количество недель и дней, необходимое для получения их значений. В строгом режиме дополнительно проверяется, не изменили ли корректировки дня и недели год. -
YEAR,ALIGNED_WEEK_OF_YEARиDAY_OF_WEEK— если присутствуют все три поля, они объединяются в дату. Используется тот же подход, что и описанный выше для года и недель вALIGNED_DAY_OF_WEEK_IN_YEAR. После обработки года и недель день недели корректируется до следующего совпадающего дня недели или остается без изменения, если он уже совпадает.
Реализация по умолчанию подходит для большинства календарных систем. Если обнаружено ChronoField.YEAR_OF_ERA без ChronoField.ERA, используется последняя эра из Chronology.eras(). Реализация предполагает, что неделя состоит из 7 дней, первый день месяца имеет значение 1, первый день года имеет значение 1, а первый день месяца и года всегда существует.
- Определено в:
-
resolveDateв интерфейсеChronology - Переопределено в:
-
resolveDateв классеAbstractChronology - Параметры:
-
fieldValues— карта полей и значений, которую можно обновлять, не null -
resolverStyle— запрошенный тип разрешения, не null - Возвращает:
- разрешенная дата; null, если данных недостаточно для создания даты
isIsoBased
public boolean isIsoBased()
MinguoChronology — летоисчисление на основе ISO, поддерживающее поля из IsoFields, например DAY_OF_QUARTER и QUARTER_OF_YEAR.- Определено в:
-
isIsoBasedв интерфейсеChronology - Возвращает:
true- Начиная с:
- 19
- См. также:
© 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/MinguoChronology.html