Класс MinguoChronology
- Все реализуемые интерфейсы:
Serializable, Comparable<Chronology>, Chronology
public final class MinguoChronology extends AbstractChronology implements Serializable
Эта хронология определяет правила календарной системы Minguo. Эта календарная система в основном используется в Китайской Республике, часто называемой Тайванем. Даты выровнены таким образом, что 0001-01-01 (Minguo) — это 1912-01-01 (ISO).
Поля определены следующим образом:
- era — существуют две эры: текущая «Республика» (ERA_ROC) и предыдущая эра (ERA_BEFORE_ROC).
- year-of-era — год текущей эры равномерно увеличивается, начиная с эпохи с первого года. Для предыдущей эры годы увеличиваются, начиная с единицы, по мере движения времени назад. Значение для текущей эры равно пролептическому году ISO минус 1911.
- proleptic-year — пролептический год совпадает с годом текущей эры. Для предыдущей эры годы имеют нулевые, а затем отрицательные значения. Значение равно пролептическому году ISO минус 1911.
- month-of-year — месяц года Minguo полностью совпадает с ISO.
- day-of-month — день месяца Minguo полностью совпадает с ISO.
- day-of-year — день года Minguo полностью совпадает с ISO.
- leap-year — схема високосных лет Minguo полностью совпадает с ISO, поэтому календари никогда не расходятся.
- Требования к реализации:
- Этот класс неизменяемый и потокобезопасный.
- Начиная с версии:
- 1.8
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final MinguoChronology |
INSTANCE |
Экземпляр-одиночка для хронологии Minguo. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
MinguoDate |
date |
Возвращает локальную дату календарной системы Minguo на основе полей пролептического года, месяца года и дня месяца. |
MinguoDate |
date |
Возвращает локальную дату календарной системы Minguo на основе полей эры, года эры, месяца года и дня месяца. |
MinguoDate |
date |
Возвращает локальную дату этой хронологии из другого объекта временных данных. |
MinguoDate |
dateEpochDay |
Возвращает локальную дату календарной системы Minguo на основе дня эпохи. |
MinguoDate |
dateNow() |
Возвращает текущую локальную дату этой хронологии по системным часам в часовом поясе по умолчанию. |
MinguoDate |
dateNow |
Возвращает текущую локальную дату этой хронологии по указанным часам. |
MinguoDate |
dateNow |
Возвращает текущую локальную дату этой хронологии по системным часам в указанном часовом поясе. |
MinguoDate |
dateYearDay |
Возвращает локальную дату календарной системы Minguo на основе полей пролептического года и дня года. |
MinguoDate |
dateYearDay |
Возвращает локальную дату календарной системы Minguo на основе полей эры, года эры и дня года. |
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 | Модификатор и тип | Метод | Описание |
|---|---|---|
int |
compareTo |
Сравнивает эту хронологию с другой хронологией. |
boolean |
equals |
Проверяет, равна ли эта хронология другой хронологии. |
int |
hashCode() |
Хеш-код этой хронологии. |
String |
toString() |
Представляет эту хронологию в виде String, используя идентификатор хронологии. |
Методы, объявленные в классе 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() |
Заставляет текущую нить ожидать пробуждения, обычно вследствие того, что она была уведомлена или прервана. |
final void |
wait |
Заставляет текущую нить ожидать пробуждения, обычно вследствие того, что она была уведомлена или прервана, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущую нить ожидать пробуждения, обычно вследствие того, что она была уведомлена или прервана, либо до истечения заданного промежутка реального времени. |
Методы, объявленные в интерфейсе Chronology
epochSecond, epochSecond, getDisplayName, period | Модификатор и тип | Метод | Описание |
|---|---|---|
default long |
epochSecond |
Возвращает количество секунд, прошедших с эпохи 1970-01-01T00:00:00Z. |
default long |
epochSecond |
Возвращает количество секунд, прошедших с эпохи 1970-01-01T00:00:00Z. |
default String |
getDisplayName |
Возвращает текстовое представление этой хронологии. |
default ChronoPeriod |
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 Создает дату этой календарной системы на основе указанного временного объекта. TemporalAccessor представляет произвольный набор сведений о дате и времени, который эта фабрика преобразует в экземпляр ChronoLocalDate.
При преобразовании обычно используется поле EPOCH_DAY, стандартизированное для всех календарных систем.
Сигнатура этого метода соответствует функциональному интерфейсу TemporalQuery, поэтому его можно использовать как запрос посредством ссылки на метод: aChronology::date.
- Определено в:
-
dateв интерфейсеChronology - Параметры:
-
temporal— преобразуемый временной объект, не null - Возвращает:
- локальную дату этой календарной системы, не null
- См. также:
localDateTime
public ChronoLocalDateTime<MinguoDate> localDateTime(TemporalAccessor temporal)
Chronology Создает дату и время этой календарной системы на основе указанного временного объекта. TemporalAccessor представляет произвольный набор сведений о дате и времени, который эта фабрика преобразует в экземпляр ChronoLocalDateTime.
Преобразование извлекает и объединяет ChronoLocalDate и LocalTime из временного объекта. Реализациям разрешается выполнять оптимизацию, например обращаться к полям, эквивалентным соответствующим объектам. В результате используется эта календарная система.
Сигнатура этого метода соответствует функциональному интерфейсу TemporalQuery, поэтому его можно использовать как запрос посредством ссылки на метод: aChronology::localDateTime.
- Определено в:
-
localDateTimeв интерфейсеChronology - Параметры:
-
temporal— преобразуемый временной объект, не null - Возвращает:
- локальные дату и время этой календарной системы, не null
- См. также:
zonedDateTime
public ChronoZonedDateTime<MinguoDate> zonedDateTime(TemporalAccessor temporal)
ChronologyChronoZonedDateTime этой календарной системы из другого временного объекта. Создает дату и время с часовым поясом этой календарной системы на основе указанного временного объекта. TemporalAccessor представляет произвольный набор сведений о дате и времени, который эта фабрика преобразует в экземпляр ChronoZonedDateTime.
Сначала преобразование попытается получить ZoneId из временного объекта, а при необходимости — ZoneOffset. Затем оно попытается получить Instant, а при необходимости — ChronoLocalDateTime. Результатом будет комбинация ZoneId или ZoneOffset с Instant или ChronoLocalDateTime. Реализациям разрешается выполнять оптимизацию, например обращаться к полям, эквивалентным соответствующим объектам. В результате используется эта календарная система.
Сигнатура этого метода соответствует функциональному интерфейсу TemporalQuery, поэтому его можно использовать как запрос посредством ссылки на метод: aChronology::zonedDateTime.
- Определено в:
-
zonedDateTimeв интерфейсеChronology - Параметры:
-
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. Более поздние эры должны иметь последовательно возрастающие значения. Более ранние эры должны иметь последовательно убывающие значения. Каждая календарная система должна использовать enum или аналогичный объект-синглтон для представления значений эр.
Этот метод возвращает эру-синглтон правильного типа для указанного значения эры.
- Определено в:
-
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.