Класс 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 MinguoChronology |
INSTANCE Единственный экземпляр для хронологии Мингуо. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
MinguoDate |
date(Era era,
int yearOfEra,
int month,
int dayOfMonth) Получает локальную дату в системе календаря Мингуо из полей эры, года-эры, месяца-года и дня-месяца. |
MinguoDate |
date(int prolepticYear,
int month,
int dayOfMonth) Получает локальную дату в системе календаря Мингуо из полей пролептического года, месяца-года и дня-месяца. |
MinguoDate |
date(TemporalAccessor temporal) Получает локальную дату в этой хронологии из другого временного объекта. |
MinguoDate |
dateEpochDay(long epochDay) Получает локальную дату в системе календаря Мингуо из дня эпохи. |
MinguoDate |
dateNow() Получает текущую локальную дату в этой хронологии из системных часов в часовом поясе по умолчанию. |
MinguoDate |
dateNow(Clock clock) Получает текущую локальную дату в этой хронологии из указанных часов. |
MinguoDate |
dateNow(ZoneId zone) Получает текущую локальную дату в этой хронологии из системных часов в указанном часовом поясе. |
MinguoDate |
dateYearDay(Era era,
int yearOfEra,
int dayOfYear) Получает локальную дату в системе календаря Мингуо из полей эры, года-эры и дня-года. |
MinguoDate |
dateYearDay(int prolepticYear,
int dayOfYear) Получает локальную дату в системе календаря Мингуо из полей пролептического года и дня-года. |
MinguoEra |
eraOf(int eraValue) Создает объект эры хронологии из числового значения. |
List<Era> |
eras() Получает список эр для хронологии. |
String |
getCalendarType() Получает тип календаря базовой системы календаря - 'roc'. |
String |
getId() Получает идентификатор хронологии - 'Minguo'. |
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) Решает распарсенные |
ChronoZonedDateTime<MinguoDate> |
zonedDateTime(Instant instant,
ZoneId zone) Получает |
ChronoZonedDateTime<MinguoDate> |
zonedDateTime(TemporalAccessor temporal) Получает |
Методы, унаследованные от класса java.time.chrono.AbstractChronology
compareTo, equals, hashCode, toString Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы, унаследованные от интерфейса java.time.chrono.Chronology
from, getDisplayName, period Поля
INSTANCE
public static final MinguoChronology INSTANCE
Единственный экземпляр для хронологии Мингуо.
Методы
getId
public String getId()
Получает идентификатор хронологии - 'Мингуо'.
Идентификатор уникально идентифицирует Chronology. Он может быть использован для поиска Chronology с помощью Chronology.of(String).
- Определено в:
-
getIdв интерфейсеChronology - Возвращает:
- идентификатор хронологии - 'Мингуо'
- См. также:
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 - Параметры:
-
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, если недостаточно информации для создания даты
© 1993, 2020, 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.