Calendar
フィールド値のローカライズされた文字列表現(表示名)を提供するサービス・プロバイダの抽象クラス。
カレンダ・タイプは、getDisplayName
およびgetDisplayNames
メソッドがカレンダ・フィールド値名を提供する暦体系を指定するために使用します。 詳細は、Calendar.getCalendarType()
を参照してください。
カレンダ・フィールド
カレンダ・フィールドは、Calendar
に定義された定数で指定されます。 各暦体系でサポートされているカレンダの一般的なフィールドとそれらの値を次に示します。
フィールド | 値 | 説明 |
---|---|---|
Calendar.MONTH |
Calendar.JANUARY からCalendar.UNDECIMBER |
月の番号付けは0から始まります(たとえば、0 - 1月、...、11 - 12月)。 一部の暦体系には13か月あります。 月の名前は、サポートされるロケールで必要な場合に、書式設定とスタンドアロン形式の両方でサポートされている必要があります。 2つの形式に区別がない場合は、両方の形式で同じ名前を返すようにしてください。 |
Calendar.DAY_OF_WEEK |
Calendar.SUNDAY からCalendar.SATURDAY |
曜日の番号付けは日曜日の1から始まります(つまり、1 - 日曜日、...、7 - 土曜日)。 |
Calendar.AM_PM |
Calendar.AM からCalendar.PM |
0 - 午前、1 - 午後 |
サポートされるカレンダ固有のフィールドとそれらの値を次に示します。
カレンダ・タイプ | フィールド | 値 | 説明 |
---|---|---|---|
"gregory" |
Calendar.ERA |
0 | GregorianCalendar.BC (BCE) |
1 | GregorianCalendar.AD (CE) |
||
"buddhist" |
Calendar.ERA |
0 | BC (BCE) |
1 | B.E. (仏暦紀元) | ||
"japanese" |
Calendar.ERA |
0 | 西暦(明治以前) |
1 | 明治 | ||
2 | 大正 | ||
3 | 昭和 | ||
4 | 平成 | ||
5 | 令和 | ||
Calendar.YEAR |
1 | 各紀元の最初の年。 長いスタイル(Calendar.LONG_FORMAT またはCalendar.LONG_STANDALONE )が指定されている場合に、返すようにしてください。 SimpleDateFormat の年の表現も参照してください。 |
|
"roc" |
Calendar.ERA |
0 | R.O.C.前 |
1 | R.O.C. | ||
"islamic" |
Calendar.ERA |
0 | AH前 |
1 | ヒジュラ暦紀元(AH) |
"gregory"
のカレンダ・フィールド値の名前は、DateFormatSymbolsProvider
によって指定された日付/時間記号と一致している必要があります。
タイム・ゾーン名はTimeZoneNameProvider
によってサポートされます。
- 導入されたバージョン:
- 1.8
- 関連項目:
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明abstract String
getDisplayName
(String calendarType, int field, int value, int style, Locale locale) 指定されたstyle
とlocale
のカレンダfield
値の文字列表現(表示名)を返します。getDisplayNames
(String calendarType, int field, int style, Locale locale) 指定されたstyle
およびlocale
のCalendar
field
のすべての文字列表現(表示名)とそれらに対応するフィールド値を含むMap
を返します。クラス java.util.spi.LocaleServiceProviderで宣言されたメソッド
getAvailableLocales, isSupportedLocale
-
コンストラクタの詳細
-
CalendarNameProvider
protected CalendarNameProvider()唯一のコンストラクタです。 (サブクラスのコンストラクタによる呼出し用で、通常は暗黙的に呼び出されます。)
-
-
メソッドの詳細
-
getDisplayName
public abstract String getDisplayName(String calendarType, int field, int value, int style, Locale locale) 指定されたstyle
とlocale
のカレンダfield
値の文字列表現(表示名)を返します。 適用できる文字列表現がない場合は、null
が返されます。field
はCalendar.MONTH
などのCalendar
フィールド・インデックスです。 タイム・ゾーンフィールドの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) 指定されたstyle
およびlocale
のCalendar
field
のすべての文字列表現(表示名)とそれらに対応するフィールド値を含むMap
を返します。field
はCalendar.MONTH
などのCalendar
フィールド・インデックスです。 タイム・ゾーンフィールドの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
のいずれかである必要があります。 縮小名は、SundayとSaturdayの「S」など、1文字を使用するために一意でないことがあり、その場合に縮小名を含めないことに注意してください。たとえば、次の呼び出しは、
"January"
からCalendar.JANUARY
、"Jan"
からCalendar.JANUARY
、"February"
からCalendar.FEBRUARY
、"Feb"
からCalendar.FEBRUARY
というように含むMap
を返します。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
- 目的のロケール- 戻り値:
style
とlocale
で、field
のすべての表示名とそれらのfield
値を含むMap
。field
に表示名が定義されていない場合は、null
- 例外:
NullPointerException
-locale
がnull
である場合- 関連項目:
-