Класс CalendarNameProvider
public abstract class CalendarNameProvider extends LocaleServiceProvider
Calendar.
Типы календарей используются для указания календарных систем, для которых методы getDisplayName и getDisplayNames предоставляют имена значений полей календаря. Подробную информацию см. в разделе Calendar.getCalendarType().
Поля календаря
Поля календаря задаются константами, определенными в Calendar. Ниже перечислены общие для календарей поля и их значения, которые должны поддерживаться каждой календарной системой.
| Поле | Значение | Описание |
|---|---|---|
Calendar.MONTH |
Calendar.JANUARY — Calendar.UNDECIMBER
| Нумерация месяцев начинается с 0 (например, 0 — январь, ..., 11 — декабрь). В некоторых календарных системах 13 месяцев. Если этого требуют поддерживаемые локали, названия месяцев должны поддерживаться как в формате для форматирования, так и в самостоятельной форме. Если эти формы не различаются, в обоих случаях следует возвращать одинаковые названия. |
Calendar.DAY_OF_WEEK |
Calendar.SUNDAY — Calendar.SATURDAY
| Нумерация дней недели начинается с 1, начиная с воскресенья (то есть 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 | до хиджры |
| 1 | год хиджры (AH) |
Названия значений полей календаря для "gregory" должны соответствовать символам даты и времени, предоставляемым DateFormatSymbolsProvider.
Названия часовых поясов поддерживаются поставщиком TimeZoneNameProvider.
- Начиная с:
- 1.8
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Единственный конструктор. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract String |
getDisplayName |
Возвращает строковое представление (отображаемое имя) поля календаря field value для заданных style и locale. |
abstract Map |
getDisplayNames |
Возвращает Map, содержащую все строковые представления (отображаемые имена) Calendar field для заданных style и locale, а также соответствующие им значения полей. |
Методы, объявленные в классе 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, например 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, например 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. Обратите внимание, что узкие названия могут быть неоднозначными из-за использования одиночных символов, например «S» для воскресенья и субботы; в таком случае узкие названия не включаются.
Например, следующий вызов вернет 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, 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/spi/CalendarNameProvider.html