Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class Chronology extends Object implements Comparable<Chronology>
Основной API даты и времени основывается на календарной системе ISO. Этот class работает негласно, чтобы представить общее понятие календарной системы. Например, Японцы, Мингуо, тайский буддист и другие.
Большинство других календарных систем также работает на совместно используемом понятии года, месяца и дня, соединенного с циклами Земли вокруг Sun, и Луны вокруг Земли. Эти совместно используемые понятия определяются ChronoField
и доступны для использования любым Chronology
реализация:
LocalDate isoDate = ... ThaiBuddhistDate thaiDate = ... int isoYear = isoDate.get(ChronoField.YEAR); int thaiYear = thaiDate.get(ChronoField.YEAR);Как показано, хотя объекты даты находятся в различных календарных системах, представленных различным
Chronology
экземпляры, оба могут быть запрошены, используя ту же самую константу на ChronoField
. Для полного обсуждения импликаций этого см. ChronoLocalDate
. Вообще, совет состоит в том, чтобы использовать известное основанное на ISO LocalDate
, а не ChronoLocalDate
. В то время как a Chronology
возразите обычно использует ChronoField
и основано на эре, году эры, месяце-летнего, дневной-месячного модели даты, это не требуется. A Chronology
экземпляр может представить полностью различный вид календарной системы, такой как майя.
На практике, Chronology
экземпляр также действует как фабрика. of(String)
метод позволяет экземпляру искаться идентификатором, в то время как ofLocale(Locale)
метод позволяет поиск локалью.
Chronology
экземпляр обеспечивает ряд методов, чтобы создать ChronoLocalDate
экземпляры. Классы даты используются, чтобы управлять определенными датами.
dateNow()
dateNow(clock)
dateNow(zone)
date(yearProleptic, month, day)
date(era, yearOfEra, month, day)
dateYearDay(yearProleptic, dayOfYear)
dateYearDay(era, yearOfEra, dayOfYear)
date(TemporalAccessor)
Chronology
, ChronoLocalDate
и Era
. Большинство логики, определенной для календарной системы, будет в ChronoLocalDate
. Chronology
разделите действия на подклассы как фабрику. Разрешать открытие дополнительных хронологий, ServiceLoader
используется. Файл должен быть добавлен к META-INF/services
каталог с именем 'java.time.chrono. Хронология' перечисление классов реализации. См. ServiceLoader для большего количества деталей о загрузке службы. Для поиска идентификатором или calendarType, система, если календари считаются первыми сопровождаемый приложением, обеспеченным календари.
Каждая хронология должна определить ID хронологии, который уникален в пределах системы. Если хронология представляет календарную систему, определенную спецификацией CLDR тогда, тип календаря является связью типа CLDR и, если применимый, разновидность CLDR,
Модификатор | Конструктор и Описание |
---|---|
protected |
Chronology()
Создает экземпляр.
|
Модификатор и Тип | Метод и Описание |
---|---|
int |
compareTo(Chronology other)
Сравнивает эту хронологию с другой хронологией.
|
ChronoLocalDate<?> |
date(Era era, int yearOfEra, int month, int dayOfMonth)
Получает локальную дату в этой хронологии с эры, года эры, месяца-летнего и дневных-месячного полей.
|
abstract ChronoLocalDate<?> |
date(int prolepticYear, int month, int dayOfMonth)
Получает локальную дату в этой хронологии от преждевременно-летнего, месяц-летнего и дневные-месячного поля.
|
abstract ChronoLocalDate<?> |
date(TemporalAccessor temporal)
Получает локальную дату в этой хронологии от другого временного объекта.
|
abstract ChronoLocalDate<?> |
dateEpochDay(long epochDay)
Получает локальную дату в этой хронологии от дневного эпохой.
|
ChronoLocalDate<?> |
dateNow()
Получает текущую локальную дату в этой хронологии от системных часов в часовом поясе значения по умолчанию.
|
ChronoLocalDate<?> |
dateNow(Clock clock)
Получает текущую локальную дату в этой хронологии от указанных часов.
|
ChronoLocalDate<?> |
dateNow(ZoneId zone)
Получает текущую локальную дату в этой хронологии от системных часов в указанном часовом поясе.
|
ChronoLocalDate<?> |
dateYearDay(Era era, int yearOfEra, int dayOfYear)
Получает локальную дату в этой хронологии с эры, года эры и дневных-летнего полей.
|
abstract ChronoLocalDate<?> |
dateYearDay(int prolepticYear, int dayOfYear)
Получает локальную дату в этой хронологии от преждевременно-летних полей и дневных-летнего полей.
|
boolean |
equals(Object obj)
Проверки, если эта хронология равна другой хронологии.
|
abstract Era |
eraOf(int eraValue)
Создает объект эры хронологии из числового значения.
|
abstract List<Era> |
eras()
Получает список эр для хронологии.
|
static Chronology |
from(TemporalAccessor temporal)
Получает экземпляр
Chronology от временного объекта. |
static Set<Chronology> |
getAvailableChronologies()
Возвращает доступные хронологии.
|
abstract String |
getCalendarType()
Получает тип календаря календарной системы.
|
Строка |
getDisplayName(TextStyle style, Locale locale)
Получает текстовое представление этой хронологии.
|
abstract String |
getId()
Получает ID хронологии.
|
int |
hashCode()
Хэш-код для этой хронологии.
|
abstract boolean |
isLeapYear(long prolepticYear)
Проверки, если указанный год является високосным годом.
|
ChronoLocalDateTime<?> |
localDateTime(TemporalAccessor temporal)
Получает локальную переменную, разовую датой в этой хронологии от другого временного объекта.
|
static Chronology |
of(String id)
Получает экземпляр
Chronology от ID хронологии или календарного системного типа. |
static Chronology |
ofLocale(Locale locale)
Получает экземпляр
Chronology от локали. |
abstract int |
prolepticYear(Era era, int yearOfEra)
Вычисляет преждевременно-летнее, данное эру и год эры.
|
abstract ValueRange |
range(ChronoField field)
Получает диапазон допустимых значений для указанного поля.
|
ChronoLocalDate<?> |
resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
Решения проанализированы
ChronoField значения в дату во время парсинга. |
Строка |
toString()
Выводит эту хронологию как a
String , использование ID. |
protected Object |
writeReplace()
Пишет Хронология, используя выделенную сериализированную форму.
|
ChronoZonedDateTime<?> |
zonedDateTime(Instant instant, ZoneId zone)
Получает a
ChronoZonedDateTime в этой хронологии от Instant . |
ChronoZonedDateTime<?> |
zonedDateTime(TemporalAccessor temporal)
Получает a
ChronoZonedDateTime в этой хронологии от другого временного объекта. |
public static Chronology from(TemporalAccessor temporal)
Chronology
от временного объекта. Это получает хронологию, основанную на указанном временном. A TemporalAccessor
представляет произвольный набор даты и информации времени, из которой эта фабрика преобразовывает в экземпляр Chronology
.
Преобразование получит использование хронологии TemporalQuery.chronology()
. Если у указанного временного объекта нет хронологии, IsoChronology
возвращается.
Этот метод соответствует подпись функционального интерфейса TemporalQuery
разрешение этого использоваться в запросах через ссылку метода, Chronology::from
.
temporal
- временное, чтобы преобразовать, не нульDateTimeException
- если неспособный преобразовать в Chronology
public static Chronology ofLocale(Locale locale)
Chronology
от локали. Это возвращает a Chronology
основанный на указанной локали, обычно возвращаясь IsoChronology
. Другие календарные системы только возвращаются, если они явно выбираются в пределах локали.
Locale
class обеспечивает доступ к диапазону информации, полезной для локализации приложения. Это включает язык и область, такую как "en-Гбайт" для английского языка как использующийся в Великобритании.
Locale
class также поддерживает механизм расширения, который может использоваться, чтобы идентифицировать календарную систему. Механизм является формой пар ключ/значение, где у календарной системы есть ключ "приблизительно". Например, локаль "en-JP-u-ca-japanese" представляет английский язык как использующийся в Японии с японской календарной системой.
Этот метод считает требуемую календарную систему способом эквивалентной передаче "приблизительно" к Locale.getUnicodeLocaleType(String)
. Если "приблизительно" ключ не присутствует, то IsoChronology
возвращается.
Отметьте, что поведение этого метода отличается от более старого Calendar.getInstance(Locale)
метод. Если тот метод получит локаль "th_TH", то это возвратится BuddhistCalendar
. В отличие от этого, этот метод возвратится IsoChronology
. Передача локали "th-TH-u-ca-buddhist" в любой метод приведет к тайской буддистской календарной системе и является поэтому рекомендуемым подходом, продвигающимся для тайской календарной системной локализации.
Подобная, но более простая, ситуация происходит для японской календарной системы. Локаль "jp_JP_JP" ранее использовалась, чтобы получить доступ к календарю. Однако, в отличие от тайской локали, "ja_JP_JP" автоматически преобразовывается Locale
к современной и рекомендуемой форме "ja-JP-u-ca-japanese". Таким образом нет никакого различия в поведении между этим методом и Calendar#getInstance(Locale)
.
locale
- локаль, чтобы использовать, чтобы получить календарную систему, не нульDateTimeException
- если определенный локалью календарь не может быть найденpublic static Chronology of(String id)
Chronology
от ID хронологии или календарного системного типа. Это возвращает хронологию, основанную или на ID или на типе. chronology ID
однозначно определяет хронологию. calendar system type
определяется спецификацией CLDR.
Хронология может быть системной хронологией или хронологией, обеспеченной приложением через конфигурацию ServiceLoader.
Так как некоторые календари могут быть настроены, ID или тип обычно обращаются к настройке значения по умолчанию. Например, у Григорианского календаря могут быть многократные cutover даты от Джулиана, но поиск только обеспечивает значение по умолчанию cutover дата.
id
- ID хронологии или календарный системный тип, не нульDateTimeException
- если хронология не может быть найденаpublic static Set<Chronology> getAvailableChronologies()
Каждый возвратился Chronology
доступно для использования в системе. Набор хронологий включает системные хронологии и любые хронологии, обеспеченные приложением через конфигурацию ServiceLoader.
public abstract String getId()
ID однозначно определяет Chronology
. Это может привыкнуть к поиску Chronology
использование of(String)
.
getCalendarType()
public abstract String getCalendarType()
Тип календаря является идентификатором, определенным CLDR и Языком разметки Данных Локали Unicode (LDML) спецификации к уникально идентификации календарь. getCalendarType
связь типа календаря CLDR, и разновидность, если применимый, добавляется разделенная "-". Тип календаря привык к поиску Chronology
использование of(String)
.
getId()
public ChronoLocalDate<?> date(Era era, int yearOfEra, int month, int dayOfMonth)
era
- эра корректного типа для хронологии, не нульyearOfEra
- год эры хронологииmonth
- месяц-летнего хронологииdayOfMonth
- день-месячного хронологииDateTimeException
- если неспособный создать датуClassCastException
- если era
не имеет корректного типа для хронологииpublic abstract ChronoLocalDate<?> date(int prolepticYear, int month, int dayOfMonth)
prolepticYear
- преждевременно-летняя хронологияmonth
- месяц-летнего хронологииdayOfMonth
- день-месячного хронологииDateTimeException
- если неспособный создать датуpublic ChronoLocalDate<?> dateYearDay(Era era, int yearOfEra, int dayOfYear)
era
- эра корректного типа для хронологии, не нульyearOfEra
- год эры хронологииdayOfYear
- день-летнего хронологииDateTimeException
- если неспособный создать датуClassCastException
- если era
не имеет корректного типа для хронологииpublic abstract ChronoLocalDate<?> dateYearDay(int prolepticYear, int dayOfYear)
prolepticYear
- преждевременно-летняя хронологияdayOfYear
- день-летнего хронологииDateTimeException
- если неспособный создать датуpublic abstract ChronoLocalDate<?> dateEpochDay(long epochDay)
Определение EPOCH_DAY
то же самое для всех календарных систем, таким образом оно может использоваться для преобразования.
epochDay
- день эпохиDateTimeException
- если неспособный создать датуpublic ChronoLocalDate<?> dateNow()
Это запросит system clock
в часовом поясе значения по умолчанию, чтобы получить текущую дату.
Используя этот метод предотвратит возможность использовать альтернативные часы для того, чтобы протестировать, потому что часы трудно кодируются.
Эта реализация использование dateNow(Clock)
.
DateTimeException
- если неспособный создать датуpublic ChronoLocalDate<?> dateNow(ZoneId zone)
Это запросит system clock
получить текущую дату. Определение часового пояса избегает зависимости от часового пояса значения по умолчанию.
Используя этот метод предотвратит возможность использовать альтернативные часы для того, чтобы протестировать, потому что часы трудно кодируются.
zone
- зональный ID, чтобы использовать, не нульDateTimeException
- если неспособный создать датуpublic ChronoLocalDate<?> dateNow(Clock clock)
Это запросит указанные часы, чтобы получить текущую дату - сегодня. Используя этот метод позволяет использование альтернативных часов для того, чтобы протестировать. Альтернативные часы могут быть представлены, используя dependency injection
.
clock
- часы, чтобы использовать, не нульDateTimeException
- если неспособный создать датуpublic abstract ChronoLocalDate<?> date(TemporalAccessor temporal)
Это получает дату в этой хронологии, основанной на указанном временном. A TemporalAccessor
представляет произвольный набор даты и информации времени, из которой эта фабрика преобразовывает в экземпляр ChronoLocalDate
.
Преобразование обычно использует EPOCH_DAY
поле, которое стандартизируется через календарные системы.
Этот метод соответствует подпись функционального интерфейса TemporalQuery
разрешение этого использоваться в качестве запроса через ссылку метода, aChronology::date
.
temporal
- временный объект преобразовать, не нульDateTimeException
- если неспособный создать датуChronoLocalDate.from(TemporalAccessor)
public ChronoLocalDateTime<?> localDateTime(TemporalAccessor temporal)
Это получает разовое датой в этой хронологии, основанной на указанном временном. A TemporalAccessor
представляет произвольный набор даты и информации времени, из которой эта фабрика преобразовывает в экземпляр ChronoLocalDateTime
.
Преобразование извлекает и объединяется ChronoLocalDate
и LocalTime
от временного объекта. Реализациям разрешают выполнить оптимизацию, такую как доступ к тем полям, которые эквивалентны соответствующим объектам. Результат использует эту хронологию.
Этот метод соответствует подпись функционального интерфейса TemporalQuery
разрешение этого использоваться в качестве запроса через ссылку метода, aChronology::localDateTime
.
temporal
- временный объект преобразовать, не нульDateTimeException
- если неспособный создать разовое датойChronoLocalDateTime.from(TemporalAccessor)
public ChronoZonedDateTime<?> zonedDateTime(TemporalAccessor temporal)
ChronoZonedDateTime
в этой хронологии от другого временного объекта. Это получает зонное разовое датой в этой хронологии, основанной на указанном временном. A TemporalAccessor
представляет произвольный набор даты и информации времени, из которой эта фабрика преобразовывает в экземпляр ChronoZonedDateTime
.
Преобразование сначала получит a ZoneId
от временного объекта, отступая к a ZoneOffset
в случае необходимости. Это тогда попытается получить Instant
, отступание к a ChronoLocalDateTime
в случае необходимости. Результатом будет любой комбинация ZoneId
или ZoneOffset
с Instant
или ChronoLocalDateTime
. Реализациям разрешают выполнить оптимизацию, такую как доступ к тем полям, которые эквивалентны соответствующим объектам. Результат использует эту хронологию.
Этот метод соответствует подпись функционального интерфейса TemporalQuery
разрешение этого использоваться в качестве запроса через ссылку метода, aChronology::zonedDateTime
.
temporal
- временный объект преобразовать, не нульDateTimeException
- если неспособный создать разовое датойChronoZonedDateTime.from(TemporalAccessor)
public ChronoZonedDateTime<?> zonedDateTime(Instant instant, ZoneId zone)
ChronoZonedDateTime
в этой хронологии от Instant
. Это получает зонное разовое датой с тем же самым моментом, как это определило.
instant
- момент, чтобы создать разовое датой из, не нульzone
- часовой пояс, не нульDateTimeException
- если результат превышает поддерживаемый диапазонpublic abstract boolean isLeapYear(long prolepticYear)
Високосный год является годом более длительной длины чем нормальный. Точное значение определяется хронологией согласно следующим ограничениям.
prolepticYear
- преждевременно-летнее, чтобы проверить, не проверил для диапазонаpublic abstract int prolepticYear(Era era, int yearOfEra)
Это комбинирует эру и год эры в единственное преждевременно-летнее поле.
Если хронология делает активное использование эр, такой как JapaneseChronology
тогда год эры будет проверен против эры. Для других хронологий проверка допустимости является дополнительной.
era
- эра корректного типа для хронологии, не нульyearOfEra
- год эры хронологииDateTimeException
- если неспособный, чтобы преобразовать в преждевременно-летнее, такой, как будто год недопустим в течение эрыClassCastException
- если era
не имеет корректного типа для хронологииpublic abstract Era eraOf(int eraValue)
Эра является, концептуально, крупнейшим подразделением временной шкалы. У большинства календарных систем есть единственная эпоха, делящая временную шкалу на две эры. Однако, у некоторых есть многократные эры, такой как один для господства каждого лидера. Точное значение определяется хронологией согласно следующим ограничениям.
У эры в использовании 01.01.1970 должно быть значение 1. У более поздних эр должны быть последовательно более высокие значения. У более ранних эр должны быть последовательно нижние значения. Каждая хронология должна обратиться к перечислимому или подобному одиночному элементу, чтобы обеспечить значения эры.
Этот метод возвращает одноэлементную эру корректного типа для указанного значения эры.
eraValue
- значение эрыDateTimeException
- если неспособный создать эруpublic abstract List<Era> eras()
У большинства календарных систем есть эра, в пределах которой у года есть значение. Если календарная система не поддерживает понятие эр, пустой список должен быть возвращен.
public abstract ValueRange range(ChronoField field)
Все поля могут быть выражены как a long
целое число. Этот метод возвращает объект, который описывает допустимый диапазон для того значения.
Отметьте, что результат только описывает минимальные и максимальные допустимые значения, и важно не читать слишком много в них. Например, могли быть значения в пределах диапазона, которые недопустимы для поля.
Этот метод возвратит результат, поддерживает ли хронология поле.
field
- поле, чтобы получить диапазон для, не нульDateTimeException
- если диапазон для поля не может быть полученpublic String getDisplayName(TextStyle style, Locale locale)
Это возвращает текстовое имя, используемое, чтобы идентифицировать хронологию, подходящую для представления пользователю. Параметры управляют стилем возвращенного текста и локали.
style
- стиль требуемого текста, не нульlocale
- локаль, чтобы использовать, не нульpublic ChronoLocalDate<?> resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
ChronoField
значения в дату во время парсинга. Больше всего TemporalField
реализации разрешаются, используя метод решения на поле. В отличие от этого, ChronoField
class определяет поля, у которых только есть значение относительно хронологии. Также, ChronoField
поля даты разрешаются здесь в контексте определенной хронологии.
Реализация по умолчанию является подходящей для большинства календарных систем. Если ChronoField.YEAR_OF_ERA
находится без ChronoField.ERA
тогда прошлая эра в eras()
используется. Реализация принимает 7-дневную неделю, что у первого дня-месячного есть значение 1, и что у первого дня-летнего есть значение 1.
fieldValues
- карта полей к значениям, которые могут быть обновлены, не нульresolverStyle
- требуемый тип решения, не нульDateTimeException
- если дата не может быть разрешена, обычно из-за конфликта во входных данныхpublic int compareTo(Chronology other)
Порядок сравнения сначала строкой ID хронологии, затем любой дополнительной информацией, определенной для подкласса. Это является "непротиворечивым с, равняется", как определено Comparable
.
Реализация по умолчанию сравнивает ID хронологии. Подклассы должны сравнить любое дополнительное состояние, которое они хранят.
compareTo
в интерфейсе Comparable<Chronology>
other
- другая хронология, чтобы сравнить с, не нульpublic boolean equals(Object obj)
Сравнение основано на всем состоянии объекта.
Реализация по умолчанию проверяет тип и вызовы compareTo(Chronology)
.
equals
в class Object
obj
- объект проверить, обнулите, возвращает falseObject.hashCode()
, HashMap
public int hashCode()
Реализация по умолчанию основана на ID и class. Подклассы должны добавить любое дополнительное состояние, которое они хранят.
hashCode
в class Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public String toString()
String
, использование ID.protected Object writeReplace()
out.writeByte(1); // identifies this as a Chronology out.writeUTF(getId());
Ser
, не нуль
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92