Spec-Zone.ru › OpenJDK 27

Класс CalendarNameProvider

java.lang.Object
java.util.spi.LocaleServiceProvider
java.util.spi.CalendarNameProvider
public abstract class CalendarNameProvider extends LocaleServiceProvider
Абстрактный класс для поставщиков служб, предоставляющих локализованные строковые представления (отображаемые названия) значений полей Calendar.

Типы календарей

Типы календарей используются для указания календарных систем, для которых методы getDisplayName и getDisplayNames предоставляют названия значений полей календаря. Подробности см. в разделе Calendar.getCalendarType().

Поля календаря

Поля календаря задаются константами, определёнными в Calendar. Ниже перечислены общие для календарей поля и их значения, которые должны поддерживаться каждой календарной системой.

Field values
Поле Значение Описание
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

Ниже перечислены специфичные для календарей поля и их значения, которые должны поддерживаться.

Calendar type and field values
Тип календаря Поле Значение Описание
"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
Модификатор и тип Метод Описание
abstract Locale[] getAvailableLocales()
Возвращает массив всех локалей, для которых этот поставщик службы локалей может предоставлять локализованные объекты или названия.
boolean isSupportedLocale(Locale locale)
Возвращает true, если данный locale поддерживается этим поставщиком службы локалей.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли какой-либо другой объект этому объекту.
protected void finalize()
Устарело, планируется удаление: этот элемент API может быть удалён в будущей версии.
Финализация признана устаревшей и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс среды выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения заданного интервала реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения заданного интервала реального времени.

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

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, 2026, 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.

Spec-Zone.ru

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