Spec-Zone.ru › OpenJDK 25

Класс MinguoChronology

java.lang.Object
java.time.chrono.AbstractChronology
java.time.chrono.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(int prolepticYear, int month, int dayOfMonth)
Получает локальную дату календарной системы Минго по полям пролептического года, месяца года и дня месяца.
MinguoDate date(Era era, int yearOfEra, int month, int dayOfMonth)
Получает локальную дату календарной системы Минго по полям эры, года эры, месяца года и дня месяца.
MinguoDate date(TemporalAccessor temporal)
Получает локальную дату этой хронологии из другого объекта временных данных.
MinguoDate dateEpochDay(long epochDay)
Получает локальную дату календарной системы Минго по дню эпохи.
MinguoDate dateNow()
Получает текущую локальную дату этой хронологии по системным часам в часовом поясе по умолчанию.
MinguoDate dateNow(Clock clock)
Получает текущую локальную дату этой хронологии по указанным часам.
MinguoDate dateNow(ZoneId zone)
Получает текущую локальную дату этой хронологии по системным часам в указанном часовом поясе.
MinguoDate dateYearDay(int prolepticYear, int dayOfYear)
Получает локальную дату календарной системы Минго по полям пролептического года и дня года.
MinguoDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
Получает локальную дату календарной системы Минго по полям эры, года эры и дня года.
MinguoEra eraOf(int eraValue)
Создает объект эры хронологии из числового значения.
List<Era> eras()
Получает список эр хронологии.
String getCalendarType()
Получает тип календаря базовой календарной системы — «roc».
String getId()
Получает идентификатор хронологии — «Minguo».
boolean isIsoBased()
MinguoChronology — хронология, основанная на ISO, которая поддерживает поля из IsoFields, такие как DAY_OF_QUARTER и QUARTER_OF_YEAR.
boolean isLeapYear(long prolepticYear)
Проверяет, является ли указанный год високосным.
ChronoLocalDateTime<MinguoDate> localDateTime(TemporalAccessor temporal)
Получает локальные дату и время этой хронологии из другого объекта временных данных.
int prolepticYear(Era era, int yearOfEra)
Вычисляет пролептический год по эре и году эры.
ValueRange range(ChronoField field)
Получает диапазон допустимых значений указанного поля.
MinguoDate resolveDate(Map<TemporalField, Long> fieldValues, ResolverStyle resolverStyle)
Преобразует разобранные значения ChronoField в дату в процессе разбора.
ChronoZonedDateTime<MinguoDate> zonedDateTime(Instant instant, ZoneId zone)
Получает ChronoZonedDateTime в этой хронологии из Instant.
ChronoZonedDateTime<MinguoDate> zonedDateTime(TemporalAccessor temporal)
Получает ChronoZonedDateTime в этой хронологии из другого объекта временных данных.

Методы, объявленные в классе AbstractChronology

compareTo, equals, hashCode, toString

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

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

epochSecond, epochSecond, getDisplayName, period

Подробное описание полей

INSTANCE

public static final MinguoChronology INSTANCE
Экземпляр-синглтон для летоисчисления Минго.

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

getId

public String getId()
Возвращает идентификатор летоисчисления — 'Minguo'.

Идентификатор однозначно определяет Chronology. Его можно использовать для поиска Chronology с помощью Chronology.of(String).

Определено в:
getId в интерфейсе Chronology
Возвращает:
идентификатор летоисчисления — 'Minguo'
См. также:
  • getCalendarType()

getCalendarType

public String getCalendarType()
Возвращает тип календаря базовой календарной системы — 'roc'.

Тип календаря — это идентификатор, определенный спецификацией языка разметки данных локали Unicode (LDML). Его можно использовать для поиска Chronology с помощью Chronology.of(String). Его также можно использовать как часть локали; к нему можно обратиться с помощью Locale.getUnicodeLocaleType(String) с ключом 'ca'.

Определено в:
getCalendarType в интерфейсе Chronology
Возвращает:
тип календарной системы — 'roc'
См. также:
  • getId()

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.

Метод получает дату в этом летоисчислении на основе указанного объекта temporal. TemporalAccessor представляет произвольный набор сведений о дате и времени, который эта фабрика преобразует в экземпляр ChronoLocalDate.

При преобразовании обычно используется поле EPOCH_DAY, стандартизированное для всех календарных систем.

Сигнатура этого метода соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса через ссылку на метод, aChronology::date.

Определено в:
date в интерфейсе Chronology
Параметры:
temporal — объект temporal для преобразования, не null
Возвращает:
локальную дату в этом летоисчислении, не null
См. также:
  • ChronoLocalDate.from(TemporalAccessor)

localDateTime

public ChronoLocalDateTime<MinguoDate> localDateTime(TemporalAccessor temporal)
Описание скопировано из интерфейса: Chronology
Получает локальные дату и время в этом летоисчислении из другого объекта temporal.

Метод получает дату и время в этом летоисчислении на основе указанного объекта temporal. TemporalAccessor представляет произвольный набор сведений о дате и времени, который эта фабрика преобразует в экземпляр ChronoLocalDateTime.

При преобразовании из объекта temporal извлекаются и объединяются ChronoLocalDate и LocalTime. Реализациям разрешено выполнять оптимизации, например обращаться к полям, эквивалентным соответствующим объектам. Результат использует это летоисчисление.

Сигнатура этого метода соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса через ссылку на метод, aChronology::localDateTime.

Определено в:
localDateTime в интерфейсе Chronology
Параметры:
temporal — объект temporal для преобразования, не null
Возвращает:
локальные дату и время в этом летоисчислении, не null
См. также:
  • ChronoLocalDateTime.from(TemporalAccessor)

zonedDateTime

public ChronoZonedDateTime<MinguoDate> zonedDateTime(TemporalAccessor temporal)
Описание скопировано из интерфейса: Chronology
Получает ChronoZonedDateTime в этом летоисчислении из другого объекта temporal.

Метод получает дату и время с часовым поясом в этом летоисчислении на основе указанного объекта temporal. TemporalAccessor представляет произвольный набор сведений о дате и времени, который эта фабрика преобразует в экземпляр ChronoZonedDateTime.

Сначала при преобразовании из объекта temporal будет получено ZoneId, а при необходимости — ZoneOffset. Затем будет предпринята попытка получить Instant, а при необходимости — ChronoLocalDateTime. Результатом будет либо сочетание ZoneId или ZoneOffset с Instant или ChronoLocalDateTime. Реализациям разрешено выполнять оптимизации, например обращаться к полям, эквивалентным соответствующим объектам. Результат использует это летоисчисление.

Сигнатура этого метода соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса через ссылку на метод, aChronology::zonedDateTime.

Определено в:
zonedDateTime в интерфейсе Chronology
Параметры:
temporal — объект temporal для преобразования, не null
Возвращает:
дату и время с часовым поясом в этом летоисчислении, не null
См. также:
  • ChronoZonedDateTime.from(TemporalAccessor)

zonedDateTime

public ChronoZonedDateTime<MinguoDate> zonedDateTime(Instant instant, ZoneId zone)
Описание скопировано из интерфейса: Chronology
Получает ChronoZonedDateTime в этом летоисчислении из 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)
Описание скопировано из класса: AbstractChronology
Преобразует разобранные значения ChronoField в дату во время разбора.

Большинство реализаций 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
См. также:
  • IsoFields

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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/MinguoChronology.html

Spec-Zone.ru

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