Spec-Zone.ru › OpenJDK 24

Класс 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 в этой хронологии из другого временного объекта.

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

compareTo, equals, hashCode, toString

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

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

Методы, объявленные в интерфейсе java.time.chrono.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 Locale Data Markup Language (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
Получает локальную дату в этой хронологии из другого временного объекта.

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

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

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

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

localDateTime

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

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

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

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

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

zonedDateTime

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

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

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

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

Указано:
zonedDateTime в интерфейсе Chronology
Параметры:
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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/time/chrono/MinguoChronology.html

Spec-Zone.ru

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