Класс CalendarNameProvider
public abstract class CalendarNameProvider extends LocaleServiceProvider
Calendar .
Типы календарей используются для указания систем календарей, для которых методы getDisplayName и getDisplayNames предоставляют имена значений полей календаря. Подробности см. в Calendar.getCalendarType().
Поля календаря
Поля календаря задаются константами, определёнными в Calendar. Ниже приведены общие для календарей поля и их значения, которые должны поддерживаться для каждой системы календаря.
| Поле | Значение | Описание |
|---|---|---|
Calendar.MONTH |
Calendar.JANUARY по Calendar.UNDECIMBER
| Нумерация месяцев основана на нуле (например, 0 - январь, ..., 11 - декабрь). Некоторые системы календарей имеют 13 месяцев. Имена месяцев должны поддерживаться в формате как в форме форматирования, так и в форме отдельного вида, если это требуется для поддерживаемых локалей. Если разницы между двумя формами нет, то должны возвращаться одни и те же имена в обеих формах. |
Calendar.DAY_OF_WEEK |
Calendar.SUNDAY по Calendar.SATURDAY
| Нумерация дней недели основана на единице, начиная с воскресенья (т.е., 1 - воскресенье, ..., 7 - суббота). |
Calendar.AM_PM |
Calendar.AM по Calendar.PM
| 0 - AM, 1 - PM |
Ниже приведены поля, специфичные для календаря, и их значения, которые должны поддерживаться.
| Тип календаря | Поле | Значение | Описание |
|---|---|---|---|
"gregory" | Calendar.ERA | 0 |
GregorianCalendar.BC (до н.э.) |
| 1 |
GregorianCalendar.AD (н.э.) | ||
"buddhist" | Calendar.ERA | 0 | до н.э. (до н.э.) |
| 1 | Б.Э. (буддийская эра) | ||
"japanese" | Calendar.ERA | 0 | Сеирёки (до Мэйдзи) |
| 1 | Мэйдзи | ||
| 2 | Тайсё | ||
| 3 | Сёва | ||
| 4 | Хэйсэй | ||
| 5 | Рэйва | ||
Calendar.YEAR | 1 | первый год в каждой эре. Должно возвращаться, когда указан длинный стиль (Calendar.LONG_FORMAT или Calendar.LONG_STANDALONE). См. также представление года в SimpleDateFormat. | |
"roc" | Calendar.ERA | 0 | До Р.О.К. |
| 1 | Р.О.К. | ||
"islamic" | Calendar.ERA | 0 | До AH |
| 1 | Анно Хиджра (AH) |
Имена значений полей календаря для "gregory" должны соответствовать символам даты и времени, предоставляемым DateFormatSymbolsProvider.
Имена часовых поясов поддерживаются TimeZoneNameProvider.
- Since:
- 1.8
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Единственный конструктор. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract String |
getDisplayName |
Возвращает строковое представление (имя отображения) календаря field value в заданной style и locale. |
abstract Map<String, |
getDisplayNames |
Возвращает Map содержащий все строковые представления (имена отображения) полей Calendar field в заданной style и locale и соответствующие значения полей. |
Методы, унаследованные от класса java.util.spi.LocaleServiceProvider
getAvailableLocales, isSupportedLocale
Подробное описание конструкторов
CalendarNameProvider
protected CalendarNameProvider()
Подробное описание методов
getDisplayName
public abstract String getDisplayName(String calendarType, int field, int value, int style, Locale locale)
field value в заданном style и locale. Если такое строковое представление не применимо, возвращается null. field — это индекс поля календаря, например, Calendar.MONTH. Поля часового пояса, Calendar.ZONE_OFFSET и Calendar.DST_OFFSET, не поддерживаются этим методом. null должен быть возвращён, если указаны любые поля часового пояса.
value — это числовое представление значения field. Например, если field — это Calendar.DAY_OF_WEEK, допустимые значения — от Calendar.SUNDAY до Calendar.SATURDAY (включительно).
style задаёт стиль строкового представления. Он должен быть одним из Calendar.SHORT_FORMAT (SHORT), Calendar.SHORT_STANDALONE, Calendar.LONG_FORMAT (LONG), Calendar.LONG_STANDALONE, Calendar.NARROW_FORMAT или Calendar.NARROW_STANDALONE.
Например, следующий вызов вернёт "Sunday".
getDisplayName("gregory", Calendar.DAY_OF_WEEK, Calendar.SUNDAY,
Calendar.LONG_STANDALONE, Locale.ENGLISH);
- Параметры:
-
calendarType— тип календаря. (Любой тип календаря, заданныйlocale, игнорируется.) -
field— индекс поляCalendar, например,Calendar.DAY_OF_WEEK -
value— значениеCalendar field, например,Calendar.MONDAY -
style— стиль строкового представления: один изCalendar.SHORT_FORMAT(SHORT),Calendar.SHORT_STANDALONE,Calendar.LONG_FORMAT(LONG),Calendar.LONG_STANDALONE,Calendar.NARROW_FORMATилиCalendar.NARROW_STANDALONE -
locale— желаемый регион - Возвращает:
- строковое представление
field value, илиnull, если строковое представление неприменимо или заданный тип календаря неизвестен - Исключения:
-
IllegalArgumentException— еслиfieldилиstyleневерны -
NullPointerException— еслиlocale—null - См. также:
getDisplayNames
public abstract Map<String,Integer> getDisplayNames(String calendarType, int field, int style, Locale locale)
Map, содержащий все строковые представления (отображаемые имена) Calendar field в заданном style и locale и соответствующие значения полей. field — это индекс поля календаря, например, Calendar.MONTH. Поля часового пояса, Calendar.ZONE_OFFSET и Calendar.DST_OFFSET, не поддерживаются этим методом. null должен быть возвращён, если указаны любые поля часового пояса.
style задаёт стиль строкового представления. Он должен быть одним из Calendar.ALL_STYLES, Calendar.SHORT_FORMAT (SHORT), Calendar.SHORT_STANDALONE, Calendar.LONG_FORMAT (LONG), Calendar.LONG_STANDALONE, Calendar.NARROW_FORMAT или Calendar.NARROW_STANDALONE. Обратите внимание, что узкие имена могут не быть уникальными из-за использования одиночных символов, таких как «В» для воскресенья и субботы, и в этом случае узкие имена не включены.
Например, следующий вызов вернёт Map, содержащий "January" до Calendar.JANUARY, "Jan" до Calendar.JANUARY, "February" до Calendar.FEBRUARY, "Feb" до Calendar.FEBRUARY и так далее.
getDisplayNames("gregory", Calendar.MONTH, Calendar.ALL_STYLES, Locale.ENGLISH);
- Параметры:
-
calendarType— тип календаря. (Любой тип календаря, заданныйlocale, игнорируется.) -
field— поле календаря, для которого возвращаются отображаемые имена -
style— стиль, применяемый к отображаемым именам; один изCalendar.ALL_STYLES,Calendar.SHORT_FORMAT(SHORT),Calendar.SHORT_STANDALONE,Calendar.LONG_FORMAT(LONG),Calendar.LONG_STANDALONE,Calendar.NARROW_FORMATилиCalendar.NARROW_STANDALONE -
locale— желаемый регион - Возвращает:
Map, содержащий все отображаемые именаfieldвstyleиlocaleи ихfieldзначения, илиnull, если отображаемые имена дляfieldне определены- Исключения:
-
NullPointerException— еслиlocale—null - См. также:
© 1993, 2021, 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/17/docs/api/java.base/java/util/spi/CalendarNameProvider.html