Spec-Zone.ru › OpenJDK 21

Класс 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 До AH
1 Ано Хиджра (AH)

Имена значений полей календаря для "gregory" должны соответствовать символам даты и времени, предоставляемым DateFormatSymbolsProvider.

Имена часовых поясов поддерживаются TimeZoneNameProvider.

Since:
1.8
See Also:
  • 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 и их соответствующие значения полей.

Методы, унаследованные от класса java.util.spi.LocaleServiceProvider

getAvailableLocales, isSupportedLocale

Методы, унаследованные от класса java.lang.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.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.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
См. также:
  • Calendar.getDisplayNames(int, int, Locale)

© 1993, 2023, 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/21/docs/api/java.base/java/util/spi/CalendarNameProvider.html

Spec-Zone.ru

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