Spec-Zone.ru › OpenJDK 25

Класс CalendarNameProvider

java.lang.Object
java.util.spi.LocaleServiceProvider
java.util.spi.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
См. также:
  • CalendarDataProvider
  • Locale.getUnicodeLocaleType(String)

Краткое описание конструкторов

CalendarNameProvider()
Модификатор Конструктор Описание
protected
Единственный конструктор.

Краткое описание методов

Модификатор и тип Метод Описание
abstract String getDisplayName(String calendarType, int field, int value, int style, Locale locale)
Возвращает строковое представление (отображаемое имя) поля календаря field value для заданных style и locale.
abstract Map<String,Integer> getDisplayNames(String calendarType, int field, int style, Locale locale)
Возвращает Map, содержащую все строковые представления (отображаемые имена) Calendar field для заданных style и locale, а также соответствующие им значения полей.

Методы, объявленные в классе LocaleServiceProvider

getAvailableLocales, isSupportedLocale

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

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
См. также:
  • TimeZoneNameProvider
  • Calendar.get(int)
  • Calendar.getDisplayName(int, int, Locale)

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
См. также:
  • Calendar.getDisplayNames(int, int, Locale)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API