public abstract class CalendarNameProvider extends LocaleServiceProvider
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 | 平成 | ||
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
によってサポートされます。
CalendarDataProvider
, Locale.getUnicodeLocaleType(String)
修飾子 | コンストラクタと説明 |
---|---|
protected |
CalendarNameProvider()
唯一のコンストラクタです。
|
修飾子と型 | メソッドと説明 |
---|---|
abstract String |
getDisplayName(String calendarType, int field, int value, int style, Locale locale)
指定された
style とlocale のカレンダfield 値の文字列表現(表示名)を返します。 |
abstract Map<String,Integer> |
getDisplayNames(String calendarType, int field, int style, Locale locale)
指定された
style およびlocale でCalendar field のすべての文字列表現(表示名)とそれらの対応するフィールド値を含むMap を返します。 |
getAvailableLocales, isSupportedLocale
protected CalendarNameProvider()
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
である場合TimeZoneNameProvider
, Calendar.get(int)
, Calendar.getDisplayName(int, int, Locale)
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
である場合Calendar.getDisplayNames(int, int, Locale)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.