Класс ThaiBuddhistChronology
- java.lang.Object
-
- java.time.chrono.AbstractChronology
-
- java.time.chrono.ThaiBuddhistChronology
- Все реализуемые интерфейсы:
- Serializable, Comparable<Chronology>, Chronology
public final class ThaiBuddhistChronology extends AbstractChronology implements Serializable
Система тайского буддийского календаря.
Эта хронология определяет правила системы тайского буддийского календаря. Эта система календаря в основном используется в Таиланде. Даты выровнены таким образом, что 2484-01-01 (Buddhist) соответствует 1941-01-01 (ISO).
Поля определены следующим образом:
- эра - Существует две эры: текущая «буддийская» (ERA_BE) и предыдущая эра (ERA_BEFORE_BE).
- год-эры - Год-эры для текущей эры равномерно увеличивается с эпохи, начиная с года один. Для предыдущей эры год увеличивается от одного по мере движения назад во времени. Значение для текущей эры равно пролептическому году ISO плюс 543.
- пролептический год - Пролептический год такой же, как год-эры для текущей эры. Для предыдущей эры года имеют значения ноль, затем отрицательные. Значение равно пролептическому году ISO плюс 543.
- месяц-года - Тайский буддийский месяц-год точно соответствует ISO.
- день-месяца - Тайский буддийский день-месяца точно соответствует ISO.
- день-года - Тайский буддийский день-года точно соответствует ISO.
- високосный год - Паттерн високосного года в тайском буддийском календаре точно соответствует ISO, так что два календаря никогда не расстаются.
- Требования к реализации:
- Этот класс неизменяемый и потокобезопасный.
- С тех пор:
- 1.8
- См. также:
- Сериализованная форма
Поля
| Модификатор и тип | Поле и описание |
|---|---|
static ThaiBuddhistChronology |
INSTANCE Единственный экземпляр хронологии буддизма. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
ThaiBuddhistDate |
date(Era era,
int yearOfEra,
int month,
int dayOfMonth) Получает локальную дату в системе тайского буддийского календаря по полям эры, года-эры, месяца-года и дня-месяца. |
ThaiBuddhistDate |
date(int prolepticYear,
int month,
int dayOfMonth) Получает локальную дату в системе тайского буддийского календаря по полям пролептического года, месяца-года и дня-месяца. |
ThaiBuddhistDate |
date(TemporalAccessor temporal) Получает локальную дату в этой хронологии из другого временного объекта. |
ThaiBuddhistDate |
dateEpochDay(long epochDay) Получает локальную дату в системе тайского буддийского календаря по эпохальному дню. |
ThaiBuddhistDate |
dateNow() Получает текущую локальную дату в этой хронологии из системных часов в часовом поясе по умолчанию. |
ThaiBuddhistDate |
dateNow(Clock clock) Получает текущую локальную дату в этой хронологии из указанных часов. |
ThaiBuddhistDate |
dateNow(ZoneId zone) Получает текущую локальную дату в этой хронологии из системных часов в указанном часовом поясе. |
ThaiBuddhistDate |
dateYearDay(Era era,
int yearOfEra,
int dayOfYear) Получает локальную дату в системе тайского буддийского календаря по полям эры, года-эры и дня-года. |
ThaiBuddhistDate |
dateYearDay(int prolepticYear,
int dayOfYear) Получает локальную дату в системе тайского буддийского календаря по полям пролептического года и дня-года. |
ThaiBuddhistEra |
eraOf(int eraValue) Создаёт объект эры хронологии из числового значения. |
List<Era> |
eras() Получает список эр для хронологии. |
String |
getCalendarType() Получает тип календаря базовой системы календаря — «буддийский». |
String |
getId() Получает идентификатор хронологии — «ThaiBuddhist». |
boolean |
isLeapYear(long prolepticYear) Проверяет, является ли указанный год високосным. |
ChronoLocalDateTime<ThaiBuddhistDate> |
localDateTime(TemporalAccessor temporal) Получает локальную дату и время в этой хронологии из другого временного объекта. |
int |
prolepticYear(Era era,
int yearOfEra) Вычисляет пролептический год, заданный эрой и годом-эры. |
ValueRange |
range(ChronoField field) Получает диапазон допустимых значений для указанного поля. |
ThaiBuddhistDate |
resolveDate(Map<TemporalField,Long> fieldValues,
ResolverStyle resolverStyle) Разрешает проанализированные |
ChronoZonedDateTime<ThaiBuddhistDate> |
zonedDateTime(Instant instant,
ZoneId zone) Получает |
ChronoZonedDateTime<ThaiBuddhistDate> |
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 ThaiBuddhistChronology INSTANCE
Единственный экземпляр буддийской хронологии.
Методы
getId
public String getId()
Возвращает идентификатор хронологии — 'ThaiBuddhist'.
Идентификатор уникально идентифицирует Chronology. Его можно использовать для поиска Chronology с помощью Chronology.of(String).
- Определено в:
-
getIdв интерфейсеChronology - Возвращает:
- идентификатор хронологии — 'ThaiBuddhist'
- См. также:
getCalendarType()
getCalendarType
public String getCalendarType()
Возвращает тип календаря базовой системы календарей — 'buddhist'.
Тип календаря — это идентификатор, определённый спецификацией Unicode Locale Data Markup Language (LDML). Его можно использовать для поиска Chronology с помощью Chronology.of(String). Его также можно использовать в качестве части локали, доступной через Locale.getUnicodeLocaleType(String) с ключом 'ca'.
- Определено в:
-
getCalendarTypeв интерфейсеChronology - Возвращает:
- тип системы календарей — 'buddhist'
- См. также:
getId()
date
public ThaiBuddhistDate date(Era era,
int yearOfEra,
int month,
int dayOfMonth) Получает локальную дату в системе календаря тайского буддизма по эпохе, году эпохи, месяцу и дню месяца.
- Определено в:
-
dateв интерфейсеChronology - Параметры:
-
era- эпоха тайского буддизма, не null -
yearOfEra- год эпохи -
month- месяц -
dayOfMonth- день месяца - Возвращает:
- локальную дату тайского буддизма, не null
- Исключения:
-
DateTimeException- если дату невозможно создать -
ClassCastException- еслиeraне являетсяThaiBuddhistEra
date
public ThaiBuddhistDate date(int prolepticYear,
int month,
int dayOfMonth) Получает локальную дату в системе календаря тайского буддизма по пролептическому году, месяцу и дню месяца.
- Определено в:
-
dateв интерфейсеChronology - Параметры:
-
prolepticYear- пролептический год -
month- месяц -
dayOfMonth- день месяца - Возвращает:
- локальную дату тайского буддизма, не null
- Исключения:
-
DateTimeException- если дату невозможно создать
dateYearDay
public ThaiBuddhistDate dateYearDay(Era era,
int yearOfEra,
int dayOfYear) Получает локальную дату в системе календаря тайского буддизма по эпохе, году эпохи и дню года.
- Определено в:
-
dateYearDayв интерфейсеChronology - Параметры:
-
era- эпоха тайского буддизма, не null -
yearOfEra- год эпохи -
dayOfYear- день года - Возвращает:
- локальную дату тайского буддизма, не null
- Исключения:
-
DateTimeException- если дату невозможно создать -
ClassCastException- еслиeraне являетсяThaiBuddhistEra
dateYearDay
public ThaiBuddhistDate dateYearDay(int prolepticYear,
int dayOfYear) Получает локальную дату в системе календаря тайского буддизма по пролептическому году и дню года.
- Определено в:
-
dateYearDayв интерфейсеChronology - Параметры:
-
prolepticYear- пролептический год -
dayOfYear- день года - Возвращает:
- локальную дату тайского буддизма, не null
- Исключения:
-
DateTimeException- если дату невозможно создать
dateEpochDay
public ThaiBuddhistDate dateEpochDay(long epochDay)
Получает локальную дату в системе календаря тайского буддизма по эпохе дня.
- Определено в:
-
dateEpochDayв интерфейсеChronology - Параметры:
-
epochDay- эпоха дня - Возвращает:
- локальную дату тайского буддизма, не null
- Исключения:
-
DateTimeException- если дату невозможно создать
dateNow
public ThaiBuddhistDate dateNow()
Описание скопировано из интерфейса: Chronology
Получает текущую локальную дату в этой хронологии с системных часов в часовом поясе по умолчанию.
Это запросит system clock в часовом поясе по умолчанию, чтобы получить текущую дату.
Использование этого метода предотвратит возможность использования альтернативных часов для тестирования, потому что часы жестко закодированы.
- Определено в:
-
dateNowв интерфейсеChronology - Возвращает:
- текущую локальную дату с использованием системных часов и часового пояса по умолчанию, не null
dateNow
public ThaiBuddhistDate dateNow(ZoneId zone)
Описание скопировано из интерфейса: Chronology
Получает текущую локальную дату в этой хронологии с системных часов в указанном часовом поясе.
Это запросит system clock для получения текущей даты. Указание часового пояса предотвращает зависимость от часового пояса по умолчанию.
Использование этого метода предотвратит возможность использования альтернативных часов для тестирования, потому что часы жестко закодированы.
- Определено в:
-
dateNowв интерфейсеChronology - Параметры:
-
zone- идентификатор часового пояса для использования, не null - Возвращает:
- текущую локальную дату с использованием системных часов, не null
dateNow
public ThaiBuddhistDate dateNow(Clock clock)
Описание скопировано из интерфейса: Chronology
Получает текущую локальную дату в этой хронологии с указанных часов.
Это запросит указанные часы для получения текущей даты — сегодня. Использование этого метода позволяет использовать альтернативные часы для тестирования. Альтернативные часы могут быть введены с помощью dependency injection.
- Определено в:
-
dateNowв интерфейсеChronology - Параметры:
-
clock- часы для использования, не null - Возвращает:
- текущую локальную дату, не null
date
public ThaiBuddhistDate date(TemporalAccessor temporal)
Описание скопировано из интерфейса: Chronology
Получает локальную дату в этой хронологии из другого временного объекта.
Это получает дату в этой хронологии на основе указанного временного объекта. A TemporalAccessor представляет собой произвольный набор информации о дате и времени, которую этот фабричный метод преобразует в экземпляр ChronoLocalDate.
Преобразование обычно использует поле EPOCH_DAY, которое стандартизировано для всех систем календарей.
Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса с помощью ссылки на метод, aChronology::date.
- Определено в:
-
dateв интерфейсеChronology - Параметры:
-
temporal- временной объект для преобразования, не null - Возвращает:
- локальную дату в этой хронологии, не null
- См. также:
ChronoLocalDate.from(TemporalAccessor)
localDateTime
public ChronoLocalDateTime<ThaiBuddhistDate> localDateTime(TemporalAccessor temporal)
Описание скопировано из интерфейса: Chronology
Получает локальное время и дату в этой хронологии из другого временного объекта.
Это получает дату и время в этой хронологии на основе указанного временного объекта. A TemporalAccessor представляет собой произвольный набор информации о дате и времени, которую этот фабричный метод преобразует в экземпляр ChronoLocalDateTime.
Преобразование извлекает и объединяет ChronoLocalDate и LocalTime из временного объекта. Реализации разрешено выполнять оптимизации, такие как доступ к полям, эквивалентным соответствующим объектам. Результат использует эту хронологию.
Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса с помощью ссылки на метод, aChronology::localDateTime.
- Определено в:
-
localDateTimeв интерфейсеChronology - Параметры:
-
temporal- временной объект для преобразования, не null - Возвращает:
- локальное время и дату в этой хронологии, не null
- См. также:
ChronoLocalDateTime.from(TemporalAccessor)
zonedDateTime
public ChronoZonedDateTime<ThaiBuddhistDate> zonedDateTime(TemporalAccessor temporal)
Описание скопировано из интерфейса: Chronology
Получает ChronoZonedDateTime в этой хронологии из другого временного объекта.
Это получает зонированное время и дату в этой хронологии на основе указанного временного объекта. A TemporalAccessor представляет собой произвольный набор информации о дате и времени, которую этот фабричный метод преобразует в экземпляр ChronoZonedDateTime.
Преобразование сначала получит ZoneId из временного объекта, переходя к ZoneOffset при необходимости. Затем оно попытается получить Instant, переходя к ChronoLocalDateTime при необходимости. Результат будет либо комбинацией ZoneId или ZoneOffset с Instant или ChronoLocalDateTime. Реализации разрешено выполнять оптимизации, такие как доступ к полям, эквивалентным соответствующим объектам. Результат использует эту хронологию.
Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его в качестве запроса с помощью ссылки на метод, aChronology::zonedDateTime.
- Определено в:
-
zonedDateTimeв интерфейсеChronology - Параметры:
-
temporal- временной объект для преобразования, не null - Возвращает:
- зонированное время и дату в этой хронологии, не null
- См. также:
ChronoZonedDateTime.from(TemporalAccessor)
zonedDateTime
public ChronoZonedDateTime<ThaiBuddhistDate> 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 ThaiBuddhistEra 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 ThaiBuddhistDate 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(). Реализация предполагает семидневную неделю, что первый день месяца имеет значение 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.