- すべての実装されたインタフェース:
Serializable
,Cloneable
,Comparable<Calendar>
- 直系の既知のサブクラス:
GregorianCalendar
Calendar
クラスは、特定の時点とYEAR
、MONTH
、DAY_OF_MONTH
、HOUR
などのカレンダ・フィールド
・セット間の変換、および次週の日付の取得などのカレンダ・フィールド操作を行うための抽象クラスです。 特定のインスタントは、1970年1月1日00:00:00.000 GMT (グレゴリオ暦)を元期とするミリ秒単位のオフセットで表現できます。
このクラスは、パッケージ外部の具象暦体系を実装するための追加メソッドおよびフィールドも提供します。 これらのフィールドおよびメソッドは、protected
として定義されます。
ロケールに依存するほかのクラスと同じように、Calendar
では、この種の一般に役立つオブジェクトを得るためのクラス・メソッドgetInstance
が提供されます。 Calendar
のgetInstance
メソッドは、Calendar
オブジェクトを返しますが、このカレンダ・フィールドは現在の日付と時間に初期化されています。
Calendar rightNow = Calendar.getInstance();
Calendar
オブジェクトでは、特定の言語およびカレンダ・スタイル(日本のグレゴリオ暦、日本の旧暦など)に対して、日付と時間のフォーマットを行うときに必要なすべての時間フィールド値を生成できます。 Calendar
では、特定のフィールドとその意味の両方によって返される値の範囲が定義されます。 たとえば、暦体系の最初の月には、すべてのカレンダについて値MONTH == JANUARY
があります。 ほかの値は、ERA
などの具象サブクラスで定義されます。 詳細は、個別のフィールド・ドキュメントおよびサブクラス・ドキュメントを参照してください。
カレンダ・フィールド値の取得と設定
カレンダ・フィールド値は、set
メソッドを呼び出して設定できます。 Calendar
内で設定されたフィールド値はすべて、その時間値(「元期」からのミリ秒)またはカレンダ・フィールドの値を計算する必要が生じるまで解釈されません。 get
、getTimeInMillis
、getTime
、add
、およびroll
の呼出しでは、この種の計算が行われます。
非厳密性
Calendar
は、カレンダ・フィールドを解釈する際、厳密および非厳密の2つのモードを使用します。 非厳密モードの場合、Calendar
はそれ自身が生成する値よりも広範なカレンダ・フィールド値を受け入れます。 Calendar
が、get()
の値を返すためにカレンダ・フィールド値を再計算する際、すべてのカレンダ・フィールドが正規化されます。 たとえば、非厳密なGregorianCalendar
は、MONTH == JANUARY
、DAY_OF_MONTH == 32
を2月1日として解釈します。
厳密モードの場合、カレンダ・フィールド内に不一致があると、Calendar
は例外をスローします。 たとえば、GregorianCalendar
は、DAY_OF_MONTH
値として1とその月の長さの間の値を常に生成します。 厳密なGregorianCalendar
は、時間およびカレンダ・フィールド値を計算する際、範囲外のフィールド値が設定されていると例外をスローします。
最初の週
Calendar
週の最初の日および最初の週の最小日数(1から7)という2つのパラメータを使用して、ロケール固有の週7日が定義されます。 これらの番号は、Calendar
が構築されたときのロケール・リソース・データまたはロケール自体から取得されます。 指定されたロケールに"fw"および/または"rg" 「Unicode拡張」が含まれている場合、その週の最初の曜日はそれらの拡張子に従って取得されます。 "fw"と"rg"の両方が指定されている場合、"fw"拡張子の値は、"rg"拡張子の暗黙のものよりも優先されます。 また、これらの値の設定用メソッドによって明示的に指定されることもあります。
WEEK_OF_MONTH
フィールドやWEEK_OF_YEAR
フィールドを設定または取得すると、Calendar
では月または年の最初の週を参照点として決定する必要があります。 月または年の最初の週は、getFirstDayOfWeek()
で始まり、その月または年の少なくともgetMinimalDaysInFirstWeek()
の日数を含む、もっとも早い7日間として定義されます。 ...、-1、0という番号が付けられた週は最初の週より前にあります。2、3、...という番号が付けられた週はそれより後ろにあります。 get()
によって返される正規化された番号付けとは、異なる場合があります。 たとえば、特定のCalendar
サブクラスでは、1年の週1の前の週を、前年の週n
として指定することがあります。
カレンダ・フィールドの解決
カレンダ・フィールドから日付および時間を計算する際、計算に必要な情報が不足している(年と月だけで日がないなど)、または情報に一貫性がない場合(たとえば「Tuesday, July 15, 1996 (Gregorian)」と指定されているが、実際にはJuly 15, 1996はMondayであるなど)があります。Calendar
は、次の方法でカレンダ・フィールド値を解決し、日付および時間を判定します。
カレンダ・フィールドの値に競合がある場合は、Calendar
により、最近設定されたカレンダ・フィールドに優先度が付与されます。 次に、カレンダ・フィールドのデフォルト組合せを示します。 もっとも最近に設定されたフィールドによって判定される、最新の組み合わせが使用されます。
時間フィールドの場合:YEAR + MONTH + DAY_OF_MONTH YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK YEAR + DAY_OF_YEAR YEAR + DAY_OF_WEEK + WEEK_OF_YEAR
HOUR_OF_DAY AM_PM + HOUR
選択したフィールドの組み合わせで値が設定されていないカレンダ・フィールドが存在する場合、Calendar
はデフォルト値を使用します。 各フィールドのデフォルト値は、具象暦体系により異なります。 GregorianCalendar
の場合、フィールドのデフォルト値は、その元期の初めの値です。つまり、YEAR = 1970
、MONTH = JANUARY
、DAY_OF_MONTH = 1
などです。
ノート: 一部の特別な時間では、その解釈があいまいになることもあります。その場合は、次のように解決されます。
- 23:59は一日の最後の分で、00:00は翌日の最初の分になります。 したがって、1999年12月31日23:59 < 2000年1月1日00:00 < 2000年1月1日00:01となります。
- 歴史的には明確ではありませんが、深夜零時は「am」に、正午は「pm」に属します。したがって、同じ日の中では12:00 am (深夜零時)< 12:01 am、および12:00 pm (正午)< 12:01 pmとなります
日付や時間のフォーマット文字列は、カレンダの定義の一部ではありません。これらが実行時にユーザーによって修正可能で、オーバーライド可能である必要があるためです。 日付の書式設定には、DateFormat
を使用してください。
フィールド操作
カレンダ・フィールドは、set()
、add()
、およびroll()
。
set(f, value)
では、カレンダ・フィールドf
がvalue
に変更されます。 さらに、カレンダ・フィールドf
が変更されたことを示すように内部メンバー変数が設定されます。 カレンダ・フィールドf
はただちに変更されますが、カレンダの時間値(ミリ秒)は、get()
、getTime()
、getTimeInMillis()
、add()
、またはroll()
が次に呼び出されるまで再計算されません。 このように、set()
を複数回呼び出しても、不要な計算が行われることはありません。 set()
を使用してカレンダ・フィールドを変更すると、カレンダ・フィールド、カレンダ・フィールド値、および暦体系によってほかのフィールドも変更されることがあります。 さらに、get(f)
では、カレンダ・フィールドの再計算後に、set
メソッドを呼び出して設定されたvalue
が必ず返されるとは限りません。 これらの詳細は、具象カレンダ・クラスによって決定されます。
例: 1999年8月31日に当初設定されたGregorianCalendar
を考えます。 set(Calendar.MONTH, Calendar.SEPTEMBER)
を呼び出すと、日付が1999年9月31日に設定されます。 これは一時的な内部表現であり、getTime()
を呼び出すと1999年10月1日になります。 ただし、getTime()
を呼び出す前にset(Calendar.DAY_OF_MONTH, 30)
を呼び出すと、set()
自体のあとに再計算が行われるために、日付が1999年9月30日に設定されます。
add(f, delta)
では、フィールドf
にdelta
が追加されます。 これは、2つの調整によってset(f, get(f)+delta)
を呼び出すのと同じです。
Addルール1。 呼出しがフィールド
f
で発生したモジュロ・オーバーフローdelta
になる前に、呼出しでフィールドf
の値を引いたあとのフィールドf
の値です。 オーバーフローは、フィールドの値が範囲を超え、その結果、次の大きいフィールドが増分または減分されて、フィールドの値がその範囲に入るよう調整された場合に発生します。Addルール2。 小さいフィールドが不変式であると予想される場合に、フィールド
f
が変更されてから最小値または最大値が変更された、またはタイムゾーン・オフセットの変更などのほかの制約のために、その前の値と等しくならないと、フィールドの値はその予想される値にできるだけ近くなるように調整されます。 小さいフィールドは、小さい時間の単位を表します。HOUR
はDAY_OF_MONTH
よりも小さいフィールドです。 不変式ではないと予想される小さいフィールドは、調整されません。 暦体系では、不変式であると予想されるフィールドが判断されます。
さらに、set()
とは異なり、add()
ではカレンダのミリ秒およびすべてのフィールドがただちに強制的に再計算されます。
例: 最初に1999年8月31日に設定されたGregorianCalendar
を考えます。 add(Calendar.MONTH, 13)
を呼び出すと、カレンダが2000年9月30日に設定されます。 8月に13か月を追加すると翌年の9月になるため、Addルール1によってMONTH
フィールドが9月に設定されます。 DAY_OF_MONTH
はGregorianCalendar
では9月の31日にはできないため、Addルール2によってDAY_OF_MONTH
がもっとも近い可能な値の30に設定されます。 これは小さいフィールドですが、GregorianCalendar
で月が変更されるときに変更が予定されているため、DAY_OF_WEEK
はルール2によっては調整されません。
roll(f, delta)
では、大きいフィールドを変更せずにフィールドf
にdelta
が追加されます。 これは、以下の調整によってadd(f, delta)
を呼び出すのと同じです。
Rollルール。 呼出しのあと、大きいフィールドは変更されません。 大きいフィールドは、大きい時間の単位を表します。
DAY_OF_MONTH
はHOUR
よりも大きいフィールドです。
例: GregorianCalendar.roll(int, int)
を参照してください。
使用法モデル。 add()
およびroll()
の動作を動機付けするために、月、日、年、および基本となるGregorianCalendar
の増分ボタンと減分ボタンがあるユーザー・インタフェース・コンポーネントを考えます。 インタフェースで1999年1月31日が読み込まれ、ユーザーが月増分ボタンを押すと、何が読み込まれるでしょうか。 基本となる実装でset()
が使用される場合は、1999年3月3日が読み込まれます。 1999年2月28日となる方がよい結果です。 さらに、ユーザーが月増分ボタンを再度押した場合は、1999年3月28日ではなく、1999年3月31日が読み込まれるはずです。 元の日付を保存し、大きいフィールドが影響を受けるかどうかによってadd()
またはroll()
を使用することで、ユーザー・インタフェースはほとんどのユーザーが直観的に期待するとおりに動作できます。
- 導入されたバージョン:
- 1.1
- 関連項目:
System.currentTimeMillis()
,Date
,GregorianCalendar
,TimeZone
,DateFormat
, 直列化された形式
-
ネストされたクラスのサマリー
-
フィールドのサマリー
修飾子と型フィールド説明static int
「January」や「Jan」などのすべてのスタイルで名前を示す、getDisplayNames
のスタイル指示子です。static int
深夜零時から正午の前までの時間を示すAM_PM
フィールドの値です。static int
get
およびset
のためのフィールド値で、HOUR
が正午より前であるかあとであるかを示します。static int
グレゴリオ暦とユリウス暦の年の4番目の月を示すMONTH
フィールドの値です。protected boolean
fields[]
が現在設定されている時間と同期をとっている場合はtrueです。static int
グレゴリオ暦とユリウス暦の年の8番目の月を示すMONTH
フィールドの値です。static int
get
およびset
のためのフィールド値で、月の日を示します。static int
get
およびset
のためのフィールド値で、月の日を示します。static int
get
およびset
のためのフィールド値で、曜日を示します。static int
get
およびset
のためのフィールド値で、現在の月の何度目の曜日かを示します。static int
get
およびset
のためのフィールド値で、現在の年の何日目かを示します。static int
グレゴリオ暦とユリウス暦の年の12番目の月を示すMONTH
フィールドの値です。static int
get
およびset
のためのフィールド値で、夏時間のオフセットをミリ秒単位で示します。static int
get
およびset
のためのフィールド値で、ユリウス暦のADまたはBCなどの年代を示します。static int
グレゴリオ暦とユリウス暦の年の2番目の月を示すMONTH
フィールドの値です。static int
get
およびset
によって認識される重複しないフィールドの数です。protected int[]
このカレンダで現在設定されている時間に対するカレンダ・フィールド値です。static int
金曜日を示すDAY_OF_WEEK
フィールドの値です。static int
get
およびset
のためのフィールド値で、午前または午後の何時かを示します。static int
get
およびset
のためのフィールド値で、時間を示します。protected boolean[]
指定されたカレンダ・フィールドがカレンダで設定されているかどうかを示すフラグです。protected boolean
time
の値が有効である場合はtrueです。static int
グレゴリオ暦とユリウス暦の年の最初の月を示すMONTH
フィールドの値です。static int
グレゴリオ暦とユリウス暦の年の7番目の月を示すMONTH
フィールドの値です。static int
グレゴリオ暦とユリウス暦の年の6番目の月を示すMONTH
フィールドの値です。static int
LONG_FORMAT
と同等の、getDisplayName
およびgetDisplayNames
のスタイル指示子です。static int
フォーマットに使用される長い名前を示す、getDisplayName
およびgetDisplayNames
のスタイル指示子です。static int
独立して使用される長い名前(カレンダ・ヘッダーとしての月の名前など)を示すgetDisplayName
およびgetDisplayNames
のスタイル指定子です。static int
グレゴリオ暦とユリウス暦の年の3番目の月を示すMONTH
フィールドの値です。static int
グレゴリオ暦とユリウス暦の年の5番目の月を示すMONTH
フィールドの値です。static int
get
およびset
のためのフィールド値で、ミリ秒を示します。static int
get
およびset
のためのフィールド値で、分を示します。static int
月曜日を示すDAY_OF_WEEK
フィールドの値です。static int
get
およびset
のためのフィールド値で、月を示します。static int
フォーマットに使用される縮小名を示すgetDisplayName
およびgetDisplayNames
のスタイル指示子です。static int
独立して使用される縮小名を示すgetDisplayName
およびgetDisplayNames
のスタイル指示子です。static int
グレゴリオ暦とユリウス暦の年の11番目の月を示すMONTH
フィールドの値です。static int
グレゴリオ暦とユリウス暦の年の10番目の月を示すMONTH
フィールドの値です。static int
正午から深夜零時の前までの時間を示すAM_PM
フィールドの値です。static int
土曜日を示すDAY_OF_WEEK
フィールドの値です。static int
get
およびset
のためのフィールド値で、秒を示します。static int
グレゴリオ暦とユリウス暦の年の9番目の月を示すMONTH
フィールドの値です。static int
SHORT_FORMAT
と同等の、getDisplayName
およびgetDisplayNames
のスタイル指示子です。static int
フォーマットに使用される短い名前を示すgetDisplayName
およびgetDisplayNames
のスタイル指示子です。static int
独立して使用される短い名前(月の略称やカレンダ・ヘッダーなど)を示すgetDisplayName
およびgetDisplayNames
のスタイル指定子です。static int
日曜日を示すDAY_OF_WEEK
フィールドの値です。static int
木曜日を示すDAY_OF_WEEK
フィールドの値です。protected long
このカレンダで現在設定されている時間です。1970年1月1日0:00:00 (グリニッジ標準時)からの経過ミリ秒数で表されます。static int
火曜日を示すDAY_OF_WEEK
フィールドの値です。static int
13番目の月を示すMONTH
フィールドの値です。static int
水曜日を示すDAY_OF_WEEK
フィールドの値です。static int
get
およびset
のためのフィールド値で、現在の月の週番号を示します。static int
get
およびset
のためのフィールド値で、現在の年の週番号を示します。static int
get
およびset
のためのフィールド値で、年を示します。static int
get
およびset
のためのフィールド値で、GMTから直接計算したオフセットをミリ秒単位で示します。 -
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明abstract void
add(int field, int amount)
カレンダのルールに基づいて、指定された時間量を指定されたカレンダ・フィールドに加算または減算します。boolean
このCalendar
が、指定されたObject
の表す時間よりあとの時間を表すかどうかを返します。boolean
このCalendar
が、指定されたObject
の表す時間より前の時間を表すかどうかを返します。void
clear()
このCalendar
のすべてのカレンダ・フィールド値および時間値(元期からのミリ秒単位のオフセット)を未定義に設定します。void
clear(int field)
このCalendar
の指定されたカレンダ・フィールド値および時間値(元期からのミリ秒単位のオフセット)を未定義に設定します。clone()
このオブジェクトのコピーを作成して、返します。int
2つのCalendar
オブジェクトで表される時間値(元期からのミリ秒単位のオフセット)を比較します。protected void
complete()
カレンダ・フィールドの未設定フィールドに値を入れます。protected abstract void
protected abstract void
boolean
このCalendar
を指定されたObject
と比較します。int
get(int field)
指定されたカレンダ・フィールドの値を返します。int
getActualMaximum(int field)
このCalendar
に時間値を指定して、指定のカレンダ・フィールドが取り得る最大値を返します。int
getActualMinimum(int field)
このCalendar
に時間値を指定した、指定のカレンダ・フィールドが取り得る最小値を返します。実行環境でCalendar
によってサポートされるすべてのカレンダ・タイプを含む変更不可能なSet
を返します。static Locale[]
このクラスのgetInstance
メソッドがローカライズされたインスタンスを返すことのできるロケールすべての配列を返します。このCalendar
のカレンダ・タイプを返します。getDisplayName(int field, int style, Locale locale)
指定されたstyle
とlocale
のカレンダfield
値の文字列表現を返します。getDisplayNames(int field, int style, Locale locale)
指定されたstyle
およびlocale
のカレンダfield
のすべての名前と、それに対応するフィールド値を含むMap
を返します。int
週の最初の曜日が何であるかを取得します。たとえば、米国ではSUNDAY
、フランスではMONDAY
です。abstract int
getGreatestMinimum(int field)
このCalendar
インスタンスで指定されたカレンダ・フィールドの最大最小値を返します。static Calendar
デフォルトのタイムゾーンおよびロケールを使用してカレンダを取得します。static Calendar
getInstance(Locale aLocale)
デフォルトのタイムゾーンおよび指定されたロケールを使用してカレンダを取得します。static Calendar
getInstance(TimeZone zone)
指定されたタイムゾーンおよびデフォルトのロケールを使用してカレンダを取得します。static Calendar
getInstance(TimeZone zone, Locale aLocale)
指定されたタイムゾーンおよびロケールを使用してカレンダを取得します。abstract int
getLeastMaximum(int field)
このCalendar
インスタンスで指定されたカレンダ・フィールドの最小最大値を返します。abstract int
getMaximum(int field)
このCalendar
インスタンスで指定されたカレンダ・フィールドの最大値を返します。int
年の最初の週に必要な最小日数を取得します。たとえば、最初の週が、年の第1週の1日目を含むものとして定義されている場合、このメソッドは1を返します。abstract int
getMinimum(int field)
このCalendar
インスタンスで指定されたカレンダ・フィールドの最小値を返します。getTime()
このCalendar
の時間値(元期からのミリ秒単位のオフセット)を表すDate
オブジェクトを返します。long
このCalendarの時間値をミリ秒で返します。タイムゾーンを取得します。int
このCalendar
で表される暦週の基準年に含まれる週数を返します。int
このCalendar
で表される暦週の基準年を返します。int
hashCode()
このカレンダのハッシュ・コードを返します。protected int
internalGet(int field)
指定されたカレンダ・フィールドの値を返します。boolean
日付/時間の解釈が厳密でないかどうかを指定します。boolean
isSet(int field)
指定されたカレンダ・フィールドが値セットを保持するかどうかを判定します(get
メソッド呼出しでトリガーされる内部フィールド計算によって値が設定された場合を含む)。boolean
このCalendar
が暦週日付をサポートしているかどうかを返します。abstract void
roll(int field, boolean up)
大きいフィールドを変更せずに指定された時間フィールドの1つの単位の時間を上または下に加算または減算します。void
roll(int field, int amount)
大きいフィールドを変更せずに、指定された(符号付きの)量を指定されたカレンダ・フィールドに加えます。void
set(int field, int value)
指定されたカレンダ・フィールドを指定された値に設定します。void
set(int year, int month, int date)
カレンダ・フィールドYEAR
、MONTH
、およびDAY_OF_MONTH
の値を設定します。void
set(int year, int month, int date, int hourOfDay, int minute)
カレンダ・フィールドYEAR
、MONTH
、DAY_OF_MONTH
、HOUR_OF_DAY
、およびMINUTE
の値を設定します。void
set(int year, int month, int date, int hourOfDay, int minute, int second)
フィールドYEAR
、MONTH
、DAY_OF_MONTH
、HOUR_OF_DAY
、MINUTE
およびSECOND
の値を設定します。void
setFirstDayOfWeek(int value)
週の最初の曜日が何であるかを設定します。たとえば、米国ではSUNDAY
、フランスではMONDAY
です。void
setLenient(boolean lenient)
日付/時間の解釈を厳密に行うかどうかを設定します。void
setMinimalDaysInFirstWeek(int value)
年の最初の週に必要な最小日数を設定します。たとえば、最初の週が、年の最初の月の最初の日を含むものとして定義されている場合は、値1でこのメソッドを呼び出します。void
このCalendarの時間を、指定されたDate
に設定します。void
setTimeInMillis(long millis)
Calendarの現在の時間を、指定されたlong値から設定します。void
setTimeZone(TimeZone value)
指定されたタイムゾーン値を使用してタイムゾーンを設定します。void
setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)
Calendar
の日付を、指定された日付指定子で設定 - 週の年、週の週、および曜日。このオブジェクトをInstant
に変換します。toString()
カレンダの文字列表現を返します。
-
フィールド詳細
-
ERA
public static final int ERAget
およびset
のためのフィールド値で、ユリウス暦のADまたはBCなどの年代を示します。 これはカレンダ固有の値です。サブクラスのドキュメントを参照してください。 -
YEAR
public static final int YEARget
およびset
のためのフィールド値で、年を示します。 これはカレンダ固有の値です。サブクラスのドキュメントを参照してください。- 関連項目:
- 定数フィールド値
-
MONTH
public static final int MONTHget
およびset
のためのフィールド値で、月を示します。 これはカレンダ固有の値です。 グレゴリオ暦とユリウス暦の年の最初の月はJANUARY
で、0となります。最後の月は、1年の月の数によります。 -
WEEK_OF_YEAR
public static final int WEEK_OF_YEARget
およびset
のためのフィールド値で、現在の年の週番号を示します。getFirstDayOfWeek()
およびgetMinimalDaysInFirstWeek()
で定義される年の最初の週には、値1が使用されます。 サブクラスでは、年の最初の週より前の日に対してWEEK_OF_YEAR
の値が定義されます。 -
WEEK_OF_MONTH
public static final int WEEK_OF_MONTHget
およびset
のためのフィールド値で、現在の月の週番号を示します。getFirstDayOfWeek()
およびgetMinimalDaysInFirstWeek()
で定義される月の最初の週には、値1が使用されます。 サブクラスでは、月の最初の週より前の日に対してWEEK_OF_MONTH
の値が定義されます。 -
DATE
public static final int DATEget
およびset
のためのフィールド値で、月の日を示します。 これはDAY_OF_MONTH
と同義です。 月の最初の日には、値1が使用されます。- 関連項目:
DAY_OF_MONTH
, 定数フィールド値
-
DAY_OF_MONTH
public static final int DAY_OF_MONTHget
およびset
のためのフィールド値で、月の日を示します。 これはDATE
と同義です。 月の最初の日には、値1が使用されます。 -
DAY_OF_YEAR
public static final int DAY_OF_YEARget
およびset
のためのフィールド値で、現在の年の何日目かを示します。 年の最初の日には、値1が使用されます。- 関連項目:
- 定数フィールド値
-
DAY_OF_WEEK
public static final int DAY_OF_WEEKget
およびset
のためのフィールド値で、曜日を示します。 このフィールドの値は、SUNDAY
、MONDAY
、TUESDAY
、WEDNESDAY
、THURSDAY
、FRIDAY
、およびSATURDAY
になります。 -
DAY_OF_WEEK_IN_MONTH
public static final int DAY_OF_WEEK_IN_MONTHget
およびset
のためのフィールド値で、現在の月の何度目の曜日かを示します。DAY_OF_WEEK
フィールドとともに使用すると、月の日を一意に指定できます。WEEK_OF_MONTH
およびWEEK_OF_YEAR
とは異なり、このフィールドの値はgetFirstDayOfWeek()
またはgetMinimalDaysInFirstWeek()
には依存しません。DAY_OF_MONTH 1
から7
は常にDAY_OF_WEEK_IN_MONTH 1
に対応します。8
から14
はDAY_OF_WEEK_IN_MONTH 2
に対応し、以下同様になります。DAY_OF_WEEK_IN_MONTH 0
は、DAY_OF_WEEK_IN_MONTH 1
の前の週を示します。 負の値は月末から遡って数えられるため、月の最終日曜日は、DAY_OF_WEEK = SUNDAY, DAY_OF_WEEK_IN_MONTH = -1
と指定されます。 負の値は遡って計算されるため、通常は当月内の正の値とは異なる位置に配置されます。 たとえば、1か月が31日の場合、DAY_OF_WEEK_IN_MONTH -1
はDAY_OF_WEEK_IN_MONTH 5
および4
の最後とオーバーラップします。- 関連項目:
DAY_OF_WEEK
,WEEK_OF_MONTH
, 定数フィールド値
-
AM_PM
public static final int AM_PMget
およびset
のためのフィールド値で、HOUR
が正午より前であるかあとであるかを示します。 たとえば、10:04:15.250 PMの場合、AM_PM
はPM
になります。 -
HOUR
public static final int HOURget
およびset
のためのフィールド値で、午前または午後の何時かを示します。HOUR
は12時間制(0から11)です。 正午および深夜零時は、12ではなく0で表されます。 たとえば、10:04:15.250 PMの場合、HOUR
は10になります。- 関連項目:
AM_PM
,HOUR_OF_DAY
, 定数フィールド値
-
HOUR_OF_DAY
public static final int HOUR_OF_DAYget
およびset
のためのフィールド値で、時間を示します。HOUR_OF_DAY
は24時間制です。 たとえば、10:04:15.250 PMの場合、HOUR_OF_DAY
は22になります。 -
MINUTE
public static final int MINUTEget
およびset
のためのフィールド値で、分を示します。 たとえば、10:04:15.250 PMの場合、MINUTE
は4になります。- 関連項目:
- 定数フィールド値
-
SECOND
public static final int SECONDget
およびset
のためのフィールド値で、秒を示します。 たとえば、10:04:15.250 PMの場合、SECOND
は15になります。- 関連項目:
- 定数フィールド値
-
MILLISECOND
public static final int MILLISECONDget
およびset
のためのフィールド値で、ミリ秒を示します。 たとえば、10:04:15.250 PMの場合、MILLISECOND
は250になります。- 関連項目:
- 定数フィールド値
-
ZONE_OFFSET
public static final int ZONE_OFFSETget
およびset
のためのフィールド値で、GMTから直接計算したオフセットをミリ秒単位で示します。TimeZone
実装サブクラスが、GMTオフセットの歴史的変化をサポートする場合、このフィールドはこのCalendar
のタイムゾーンの正確なGMTオフセット値を反映します。- 関連項目:
- 定数フィールド値
-
DST_OFFSET
public static final int DST_OFFSETget
およびset
のためのフィールド値で、夏時間のオフセットをミリ秒単位で示します。TimeZone
実装サブクラスが、夏時間のスケジュールの歴史的変化をサポートする場合、このフィールドはこのCalendar
のタイムゾーンの正確な夏時間のオフセット値を反映します。- 関連項目:
- 定数フィールド値
-
FIELD_COUNT
public static final int FIELD_COUNTget
およびset
によって認識される重複しないフィールドの数です。 フィールド数の範囲は0..FIELD_COUNT-1
です。- 関連項目:
- 定数フィールド値
-
SUNDAY
public static final int SUNDAY日曜日を示すDAY_OF_WEEK
フィールドの値です。- 関連項目:
- 定数フィールド値
-
MONDAY
public static final int MONDAY月曜日を示すDAY_OF_WEEK
フィールドの値です。- 関連項目:
- 定数フィールド値
-
TUESDAY
public static final int TUESDAY火曜日を示すDAY_OF_WEEK
フィールドの値です。- 関連項目:
- 定数フィールド値
-
WEDNESDAY
public static final int WEDNESDAY水曜日を示すDAY_OF_WEEK
フィールドの値です。- 関連項目:
- 定数フィールド値
-
THURSDAY
public static final int THURSDAY木曜日を示すDAY_OF_WEEK
フィールドの値です。- 関連項目:
- 定数フィールド値
-
FRIDAY
public static final int FRIDAY金曜日を示すDAY_OF_WEEK
フィールドの値です。- 関連項目:
- 定数フィールド値
-
SATURDAY
public static final int SATURDAY土曜日を示すDAY_OF_WEEK
フィールドの値です。- 関連項目:
- 定数フィールド値
-
JANUARY
public static final int JANUARYグレゴリオ暦とユリウス暦の年の最初の月を示すMONTH
フィールドの値です。- 関連項目:
- 定数フィールド値
-
FEBRUARY
public static final int FEBRUARYグレゴリオ暦とユリウス暦の年の2番目の月を示すMONTH
フィールドの値です。- 関連項目:
- 定数フィールド値
-
MARCH
public static final int MARCHグレゴリオ暦とユリウス暦の年の3番目の月を示すMONTH
フィールドの値です。- 関連項目:
- 定数フィールド値
-
APRIL
public static final int APRILグレゴリオ暦とユリウス暦の年の4番目の月を示すMONTH
フィールドの値です。- 関連項目:
- 定数フィールド値
-
MAY
public static final int MAYグレゴリオ暦とユリウス暦の年の5番目の月を示すMONTH
フィールドの値です。- 関連項目:
- 定数フィールド値
-
JUNE
public static final int JUNEグレゴリオ暦とユリウス暦の年の6番目の月を示すMONTH
フィールドの値です。- 関連項目:
- 定数フィールド値
-
JULY
public static final int JULYグレゴリオ暦とユリウス暦の年の7番目の月を示すMONTH
フィールドの値です。- 関連項目:
- 定数フィールド値
-
AUGUST
public static final int AUGUSTグレゴリオ暦とユリウス暦の年の8番目の月を示すMONTH
フィールドの値です。- 関連項目:
- 定数フィールド値
-
SEPTEMBER
public static final int SEPTEMBERグレゴリオ暦とユリウス暦の年の9番目の月を示すMONTH
フィールドの値です。- 関連項目:
- 定数フィールド値
-
OCTOBER
public static final int OCTOBERグレゴリオ暦とユリウス暦の年の10番目の月を示すMONTH
フィールドの値です。- 関連項目:
- 定数フィールド値
-
NOVEMBER
public static final int NOVEMBERグレゴリオ暦とユリウス暦の年の11番目の月を示すMONTH
フィールドの値です。- 関連項目:
- 定数フィールド値
-
DECEMBER
public static final int DECEMBERグレゴリオ暦とユリウス暦の年の12番目の月を示すMONTH
フィールドの値です。- 関連項目:
- 定数フィールド値
-
UNDECIMBER
public static final int UNDECIMBER13番目の月を示すMONTH
フィールドの値です。GregorianCalendar
ではこの値は使いませんが、太陰暦で使用します。- 関連項目:
- 定数フィールド値
-
AM
public static final int AM深夜零時から正午の前までの時間を示すAM_PM
フィールドの値です。- 関連項目:
- 定数フィールド値
-
PM
public static final int PM正午から深夜零時の前までの時間を示すAM_PM
フィールドの値です。- 関連項目:
- 定数フィールド値
-
ALL_STYLES
public static final int ALL_STYLES「January」や「Jan」などのすべてのスタイルで名前を示す、getDisplayNames
のスタイル指示子です。- 導入されたバージョン:
- 1.6
- 関連項目:
SHORT_FORMAT
,LONG_FORMAT
,SHORT_STANDALONE
,LONG_STANDALONE
,SHORT
,LONG
, 定数フィールド値
-
SHORT
public static final int SHORTSHORT_FORMAT
と同等の、getDisplayName
およびgetDisplayNames
のスタイル指示子です。- 導入されたバージョン:
- 1.6
- 関連項目:
SHORT_STANDALONE
,LONG
, 定数フィールド値
-
LONG
public static final int LONGLONG_FORMAT
と同等の、getDisplayName
およびgetDisplayNames
のスタイル指示子です。- 導入されたバージョン:
- 1.6
- 関連項目:
LONG_STANDALONE
,SHORT
, 定数フィールド値
-
NARROW_FORMAT
public static final int NARROW_FORMATフォーマットに使用される縮小名を示すgetDisplayName
およびgetDisplayNames
のスタイル指示子です。 縮小名は通常、1文字からなる文字列です(月曜日を表す「M」など)。- 導入されたバージョン:
- 1.8
- 関連項目:
NARROW_STANDALONE
,SHORT_FORMAT
,LONG_FORMAT
, 定数フィールド値
-
NARROW_STANDALONE
public static final int NARROW_STANDALONE独立して使用される縮小名を示すgetDisplayName
およびgetDisplayNames
のスタイル指示子です。 縮小名は通常、1文字からなる文字列です(月曜日を表す「M」など)。- 導入されたバージョン:
- 1.8
- 関連項目:
NARROW_FORMAT
,SHORT_STANDALONE
,LONG_STANDALONE
, 定数フィールド値
-
SHORT_FORMAT
public static final int SHORT_FORMATフォーマットに使用される短い名前を示すgetDisplayName
およびgetDisplayNames
のスタイル指示子です。- 導入されたバージョン:
- 1.8
- 関連項目:
SHORT_STANDALONE
,LONG_FORMAT
,LONG_STANDALONE
, 定数フィールド値
-
LONG_FORMAT
public static final int LONG_FORMATフォーマットに使用される長い名前を示す、getDisplayName
およびgetDisplayNames
のスタイル指示子です。- 導入されたバージョン:
- 1.8
- 関連項目:
LONG_STANDALONE
,SHORT_FORMAT
,SHORT_STANDALONE
, 定数フィールド値
-
SHORT_STANDALONE
public static final int SHORT_STANDALONE独立して使用される短い名前(月の略称やカレンダ・ヘッダーなど)を示すgetDisplayName
およびgetDisplayNames
のスタイル指定子です。- 導入されたバージョン:
- 1.8
- 関連項目:
SHORT_FORMAT
,LONG_FORMAT
,LONG_STANDALONE
, 定数フィールド値
-
LONG_STANDALONE
public static final int LONG_STANDALONE独立して使用される長い名前(カレンダ・ヘッダーとしての月の名前など)を示すgetDisplayName
およびgetDisplayNames
のスタイル指定子です。- 導入されたバージョン:
- 1.8
- 関連項目:
LONG_FORMAT
,SHORT_FORMAT
,SHORT_STANDALONE
, 定数フィールド値
-
fields
protected int[] fieldsこのカレンダで現在設定されている時間に対するカレンダ・フィールド値です。 これは、インデックス値ERA
からDST_OFFSET
までの、FIELD_COUNT
整数値の配列です。 -
isSet
protected boolean[] isSet指定されたカレンダ・フィールドがカレンダで設定されているかどうかを示すフラグです。 新しいオブジェクトには設定されているフィールドはありません。 フィールドを生成するメソッドを最初に呼び出したあと、すべてのフィールドは設定されたままになります。 これは、インデックス値ERA
からDST_OFFSET
までの、FIELD_COUNT
boolean値の配列です。 -
time
protected long timeこのカレンダで現在設定されている時間です。1970年1月1日0:00:00 (グリニッジ標準時)からの経過ミリ秒数で表されます。- 関連項目:
isTimeSet
-
isTimeSet
protected boolean isTimeSettime
の値が有効である場合はtrueです。field[]
の項目を変更することで、timeは無効になります。- 関連項目:
time
-
areFieldsSet
protected boolean areFieldsSetfields[]
が現在設定されている時間と同期をとっている場合はtrueです。 falseの場合は、次にフィールドの値を取得しようとしたときに、time
の現在値からすべてのフィールドを再計算するよう強制します。
-
-
コンストラクタの詳細
-
Calendar
protected Calendar()デフォルトのタイムゾーンおよびデフォルトのFORMAT
ロケールを使用してCalendarを作成します。- 関連項目:
TimeZone.getDefault()
-
Calendar
指定されたタイムゾーンおよびロケールを使用してカレンダを作成します。- パラメータ:
zone
- 使用するタイムゾーンaLocale
- 週のデータに使用するロケール
-
-
メソッドの詳細
-
getInstance
public static Calendar getInstance()デフォルトのタイムゾーンおよびロケールを使用してカレンダを取得します。 返されたCalendar
は、デフォルトのFORMAT
ロケールを持つデフォルトのタイムゾーンの現在の時間に基づいています。ロケールに"tz" 「Unicode拡張」のタイムゾーンが含まれている場合は、代わりにそのタイムゾーンが使用されます。
- 戻り値:
- Calendar。
-
getInstance
指定されたタイムゾーンおよびデフォルトのロケールを使用してカレンダを取得します。 返されたCalendar
は、デフォルトのFORMAT
ロケールを持つ指定されたタイムゾーンの現在の時間に基づいています。- パラメータ:
zone
- 使用するタイムゾーン- 戻り値:
- Calendar。
-
getInstance
デフォルトのタイムゾーンおよび指定されたロケールを使用してカレンダを取得します。 返されたCalendar
は、指定されたロケールを持つデフォルトのタイムゾーンの現在の時間に基づいています。ロケールに"tz" 「Unicode拡張」のタイムゾーンが含まれている場合は、代わりにそのタイムゾーンが使用されます。
- パラメータ:
aLocale
- 週のデータに使用するロケール- 戻り値:
- Calendar。
-
getInstance
指定されたタイムゾーンおよびロケールを使用してカレンダを取得します。 返されたCalendar
は、指定されたロケールを持つデフォルトのタイムゾーンの現在の時間に基づいています。- パラメータ:
zone
- 使用するタイムゾーンaLocale
- 週のデータに使用するロケール- 戻り値:
- Calendar。
-
getAvailableLocales
public static Locale[] getAvailableLocales()このクラスのgetInstance
メソッドがローカライズされたインスタンスを返すことのできるロケールすべての配列を返します。 返される配列には、Locale.US
と等価なLocale
インスタンスが少なくとも1つ含まれている必要があります。- 戻り値:
- ローカライズされた
Calendar
インスタンスを使用可能なロケールの配列。
-
computeTime
protected abstract void computeTime()- 関連項目:
complete()
,computeFields()
-
computeFields
protected abstract void computeFields()現在のミリ秒単位の時間値time
をfields[]
内のカレンダ・フィールド値に変換します。 これによって、カレンダ・フィールドの値を、カレンダに設定されている新しい時間と同期させることができます。 時間は最初に再計算されません。時間、フィールドの順に再計算するには、complete()
メソッドを呼び出します。- 関連項目:
computeTime()
-
getTime
public final Date getTime()このCalendar
の時間値(元期からのミリ秒単位のオフセット)を表すDate
オブジェクトを返します。- 戻り値:
- 時間値を表す
Date
。 - 関連項目:
setTime(Date)
,getTimeInMillis()
-
setTime
public final void setTime(Date date)このCalendarの時間を、指定されたDate
に設定します。ノート:
Date(Long.MAX_VALUE)
またはDate(Long.MIN_VALUE)
でsetTime()
を呼び出すと、get()
から不正確なフィールド値が生じることがあります。- パラメータ:
date
- 指定されたDate。- 例外:
NullPointerException
-date
がnull
である場合- 関連項目:
getTime()
,setTimeInMillis(long)
-
getTimeInMillis
public long getTimeInMillis()このCalendarの時間値をミリ秒で返します。- 戻り値:
- 元期からのUTCミリ秒値で表される現在の時間。
- 関連項目:
getTime()
,setTimeInMillis(long)
-
setTimeInMillis
public void setTimeInMillis(long millis)Calendarの現在の時間を、指定されたlong値から設定します。- パラメータ:
millis
- 元期からのUTCミリ秒値で表される新しい時間。- 関連項目:
setTime(Date)
,getTimeInMillis()
-
get
public int get(int field)指定されたカレンダ・フィールドの値を返します。 非厳密モードでは、すべてのカレンダ・フィールドが正規化されます。 厳密モードでは、すべてのカレンダ・フィールドが検証され、カレンダ・フィールドが範囲外の値を保持する場合にはこのメソッドにより例外がスローされます。 正規化および検証はcomplete()
メソッドによって処理されますが、そのプロセスは暦体系により異なります。- パラメータ:
field
- 指定されたカレンダ・フィールド。- 戻り値:
- 指定されたカレンダ・フィールドの値。
- 例外:
ArrayIndexOutOfBoundsException
- 指定されたフィールドが範囲外の場合(field < 0||field>= FIELD_COUNT
)。- 関連項目:
set(int,int)
,complete()
-
internalGet
protected final int internalGet(int field)指定されたカレンダ・フィールドの値を返します。 このメソッドには、フィールド値の正規化や検証は含まれません。- パラメータ:
field
- 指定されたカレンダ・フィールド。- 戻り値:
- 指定されたカレンダ・フィールドの値。
- 関連項目:
get(int)
-
set
public void set(int field, int value)指定されたカレンダ・フィールドを指定された値に設定します。 モードが厳密/非厳密であるかに関係なく、このメソッドが値を解釈することはありません。- パラメータ:
field
- 指定されたカレンダ・フィールド。value
- 指定されたカレンダ・フィールドに設定する値。- 例外:
ArrayIndexOutOfBoundsException
- 厳密性モードで、指定されたフィールドが範囲外の場合(field < 0||field>= FIELD_COUNT
)。- 関連項目:
set(int,int,int)
,set(int,int,int,int,int)
,set(int,int,int,int,int,int)
,get(int)
-
set
public final void set(int year, int month, int date)カレンダ・フィールドYEAR
、MONTH
、およびDAY_OF_MONTH
の値を設定します。 ほかのカレンダ・フィールドの以前の値は保持されます。 保持されないようにする場合は、最初にclear()
を呼び出します。- パラメータ:
year
-YEAR
カレンダ・フィールドの設定に使用する値。month
-MONTH
カレンダ・フィールドの設定に使用する値。 Month値は0から始まる(1月は0になる)。date
-DAY_OF_MONTH
カレンダ・フィールドの設定に使用する値。- 関連項目:
set(int,int)
,set(int,int,int,int,int)
,set(int,int,int,int,int,int)
-
set
public final void set(int year, int month, int date, int hourOfDay, int minute)カレンダ・フィールドYEAR
、MONTH
、DAY_OF_MONTH
、HOUR_OF_DAY
、およびMINUTE
の値を設定します。 ほかのフィールドの以前の値は保持されます。 保持されないようにする場合は、最初にclear()
を呼び出します。- パラメータ:
year
-YEAR
カレンダ・フィールドの設定に使用する値。month
-MONTH
カレンダ・フィールドの設定に使用する値。 Month値は0から始まる(1月は0になる)。date
-DAY_OF_MONTH
カレンダ・フィールドの設定に使用する値。hourOfDay
-HOUR_OF_DAY
カレンダ・フィールドの設定に使用する値。minute
-MINUTE
カレンダ・フィールドの設定に使用する値。- 関連項目:
set(int,int)
,set(int,int,int)
,set(int,int,int,int,int,int)
-
set
public final void set(int year, int month, int date, int hourOfDay, int minute, int second)フィールドYEAR
、MONTH
、DAY_OF_MONTH
、HOUR_OF_DAY
、MINUTE
およびSECOND
の値を設定します。 ほかのフィールドの以前の値は保持されます。 保持されないようにする場合は、最初にclear()
を呼び出します。- パラメータ:
year
-YEAR
カレンダ・フィールドの設定に使用する値。month
-MONTH
カレンダ・フィールドの設定に使用する値。 Month値は0から始まる(1月は0になる)。date
-DAY_OF_MONTH
カレンダ・フィールドの設定に使用する値。hourOfDay
-HOUR_OF_DAY
カレンダ・フィールドの設定に使用する値。minute
-MINUTE
カレンダ・フィールドの設定に使用する値。second
-SECOND
カレンダ・フィールドの設定に使用する値。- 関連項目:
set(int,int)
,set(int,int,int)
,set(int,int,int,int,int)
-
clear
public final void clear()このCalendar
のすべてのカレンダ・フィールド値および時間値(元期からのミリ秒単位のオフセット)を未定義に設定します。 これは、isSet()
がすべてのカレンダ・フィールドでfalse
を返し、日付および時間計算でフィールドがこれまで設定されたことがないかのように処理されることを意味します。Calendar
実装クラスは、固有のデフォルト・フィールド値を日付/時間計算に使用できます。 たとえば、YEAR
フィールド値が未定義の場合、GregorianCalendar
は1970を使用します。- 関連項目:
clear(int)
-
clear
public final void clear(int field)このCalendar
の指定されたカレンダ・フィールド値および時間値(元期からのミリ秒単位のオフセット)を未定義に設定します。 これは、isSet(field)
がfalse
を返すこと、および日付と時間計算でフィールドがこれまで設定されたことがないかのように処理されることを意味します。Calendar
実装クラスは、日付および時間計算にフィールド固有のデフォルト値を使用できます。HOUR_OF_DAY
、HOUR
、およびAM_PM
フィールドはそれぞれ別個に処理され、時間の解決ルールが適用されます。 フィールドのいずれかをクリアしても、このCalendar
の「時」はリセットされません。 「時」の値をリセットするには、set(Calendar.HOUR_OF_DAY, 0)
を使用します。- パラメータ:
field
- クリアするカレンダ・フィールド。- 関連項目:
clear()
-
isSet
public final boolean isSet(int field)指定されたカレンダ・フィールドが値セットを保持するかどうかを判定します(get
メソッド呼出しでトリガーされる内部フィールド計算によって値が設定された場合を含む)。- パラメータ:
field
- テスト対象のカレンダ・フィールド- 戻り値:
- 指定されたカレンダ・フィールドが値セットを保持する場合は
true
、そうでない場合はfalse
。
-
getDisplayName
指定されたstyle
とlocale
のカレンダfield
値の文字列表現を返します。 適用できる文字列表現がない場合は、null
が返されます。 このメソッドは、文字列表現が指定されたカレンダfield
に適用可能な場合に、get(field)
を呼び出してカレンダfield
値を取得します。たとえば、この
Calendar
がGregorianCalendar
であり、その日付が2005-01-01の場合、MONTH
フィールドの文字列表現は、英語ロケールの長いスタイルでは「January」になり、短いスタイルでは「Jan」になります。 ただし、DAY_OF_MONTH
フィールドでは文字列表現を使用できず、このメソッドはnull
を返します。デフォルトの実装は、
DateFormatSymbols
に特定のlocale
の名前が含まれるカレンダ・フィールドをサポートします。- パラメータ:
field
- 文字列表現が返されるカレンダ・フィールドstyle
- 文字列表現に適用されるスタイル。SHORT_FORMAT
(SHORT
)、SHORT_STANDALONE
、LONG_FORMAT
(LONG
)、LONG_STANDALONE
、NARROW_FORMAT
、NARROW_STANDALONE
のいずれか。locale
- 文字列表現のロケール(locale
で指定されたカレンダ・タイプは無視される)- 戻り値:
- 指定された
style
の指定されたfield
の文字列表現。適用できる文字列表現がない場合は、null
。 - 例外:
IllegalArgumentException
-field
またはstyle
が無効な場合、あるいはこのCalendar
が厳密モードで、カレンダ・フィールドのいずれかに無効な値が含まれている場合NullPointerException
-locale
がnullである場合- 導入されたバージョン:
- 1.6
-
getDisplayNames
指定されたstyle
およびlocale
のカレンダfield
のすべての名前と、それに対応するフィールド値を含むMap
を返します。 たとえば、このCalendar
がGregorianCalendar
の場合、返されるマップには、英語ロケールの短いスタイルでは、JANUARY
に対する「Jan」、FEBRUARY
に対する「Feb」などが含まれます。単一文字を使用するため、縮小名は一意でなくてもかまいません(日曜日と土曜日を表す「S」など)。 その場合、返される
Map
には縮小名は含まれません。その他のカレンダ・フィールドの値が、表示名のセットを決定するときに考慮されることがあります。 たとえば、この
Calendar
が太陰太陽暦システムであり、YEAR
フィールドによって指定される年の値にうるう月がある場合、このメソッドはうるう月の名前を含む月の名前を返し、月の名前はその年に固有の値にマップされます。デフォルト実装は、
DateFormatSymbols
に含まれる表示名をサポートします。 たとえば、field
がMONTH
でstyle
がALL_STYLES
の場合、このメソッドは、DateFormatSymbols.getShortMonths()
およびDateFormatSymbols.getMonths()
によって返されるすべての文字列を含むMap
を返します。- パラメータ:
field
- 表示名が返されるカレンダ・フィールドstyle
- 文字列表現に適用されるスタイル。SHORT_FORMAT
(SHORT
)、SHORT_STANDALONE
、LONG_FORMAT
(LONG
)、LONG_STANDALONE
,NARROW_FORMAT
、NARROW_STANDALONE
のいずれかlocale
- 表示名のロケール- 戻り値:
style
とlocale
のすべての表示名とそれらのフィールド値を含むMap
。field
に表示名が定義されていない場合は、null
- 例外:
IllegalArgumentException
-field
またはstyle
が無効な場合、あるいはこのCalendar
が厳密モードで、カレンダ・フィールドのいずれかに無効な値が含まれている場合NullPointerException
-locale
がnullである場合- 導入されたバージョン:
- 1.6
-
complete
protected void complete()カレンダ・フィールドの未設定フィールドに値を入れます。 カレンダ・フィールド値から時間値(元期からのミリ秒単位のオフセット)が計算されていない場合、最初にcomputeTime()
メソッドが呼び出されます。 次に、computeFields()
メソッドが呼び出されて、すべてのカレンダ・フィールド値が計算されます。 -
getAvailableCalendarTypes
実行環境でCalendar
によってサポートされるすべてのカレンダ・タイプを含む変更不可能なSet
を返します。 使用可能なカレンダ・タイプをUnicodeロケール拡張に使用できます。 返されるSet
には少なくとも"gregory"
.が含まれています。 カレンダ・タイプには別名("gregory"
を表す"gregorian"
など)は含まれません。- 戻り値:
- 使用可能なすべてのカレンダ・タイプを含む変更不可能な
Set
- 導入されたバージョン:
- 1.8
- 関連項目:
getCalendarType()
,Calendar.Builder.setCalendarType(String)
,Locale.getUnicodeLocaleType(String)
-
getCalendarType
public String getCalendarType()このCalendar
のカレンダ・タイプを返します。 カレンダ・タイプは、Unicode Locale Data Markup Language (LDML)仕様によって定義されます。このメソッドのデフォルトの実装では、この
Calendar
インスタンスのクラス名を返します。 LDMLで定義された暦体系を実装するサブクラスは、このメソッドをオーバーライドして適切なカレンダ・タイプを返すはずです。- 戻り値:
- LDMLで定義されたカレンダ・タイプ、またはこの
Calendar
インスタンスのクラス名 - 導入されたバージョン:
- 1.8
- 関連項目:
- Locale extensions,
Locale.Builder.setLocale(Locale)
,Locale.Builder.setUnicodeLocaleKeyword(String, String)
-
equals
public boolean equals(Object obj)このCalendar
を指定されたObject
と比較します。 引数が、このオブジェクトと同じCalendar
パラメータの同じ時間値(元期からのミリ秒単位のオフセット)を表す同じ暦体系のCalendar
オブジェクトである場合にのみ、結果はtrue
になります。Calendar
パラメータは、isLenient
、getFirstDayOfWeek
、getMinimalDaysInFirstWeek
、およびgetTimeZone
メソッドにより表現される値です。 2つのCalendar
間のパラメータに相違がある場合、このメソッドはfalse
を返します。時間値だけを比較する場合は、
compareTo
メソッドを使用します。- オーバーライド:
equals
、クラス:Object
- パラメータ:
obj
- 比較対象のオブジェクト。- 戻り値:
- このオブジェクトが
obj
に等しい場合はtrue
。それ以外の場合はfalse
。 - 関連項目:
Object.hashCode()
、HashMap
-
hashCode
public int hashCode()このカレンダのハッシュ・コードを返します。- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 導入されたバージョン:
- 1.2
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
before
public boolean before(Object when)このCalendar
が、指定されたObject
の表す時間より前の時間を表すかどうかを返します。 このメソッドは、次と同等です。
等価になるのは、compareTo(when) < 0
when
がCalendar
インスタンスである場合だけです。 それ以外の場合、このメソッドはfalse
を返します。- パラメータ:
when
- 比較対象のObject
- 戻り値:
- この
Calendar
の時間がwhen
で表される時間よりも前の場合はtrue
、そうでない場合はfalse
。 - 関連項目:
compareTo(Calendar)
-
after
public boolean after(Object when)このCalendar
が、指定されたObject
の表す時間よりあとの時間を表すかどうかを返します。 このメソッドは、次と同等です。
等価になるのは、compareTo(when) > 0
when
がCalendar
インスタンスである場合だけです。 それ以外の場合、このメソッドはfalse
を返します。- パラメータ:
when
- 比較対象のObject
- 戻り値:
- この
Calendar
の時間がwhen
で表される時間よりもあとの場合はtrue
、そうでない場合はfalse
。 - 関連項目:
compareTo(Calendar)
-
compareTo
public int compareTo(Calendar anotherCalendar)2つのCalendar
オブジェクトで表される時間値(元期からのミリ秒単位のオフセット)を比較します。- 定義:
compareTo
、インタフェース:Comparable<Calendar>
- パラメータ:
anotherCalendar
- 比較対象のCalendar
。- 戻り値:
- 引数で表される時間がこの
Calendar
の表す時間と等しい場合の値は0
。このCalendar
の時間が引数で表される時間より前の場合は0
未満の値。このCalendar
の時間が引数で表される時間よりあとの場合は、0
より大きい値。 - 例外:
NullPointerException
- 指定されたCalendar
がnull
である場合。IllegalArgumentException
- カレンダ値が無効なため、指定されたCalendar
オブジェクトの時間値を取得できない場合。- 導入されたバージョン:
- 1.5
-
add
public abstract void add(int field, int amount)カレンダのルールに基づいて、指定された時間量を指定されたカレンダ・フィールドに加算または減算します。 たとえば、カレンダの現在の時間から5日を引く場合は、次の呼出しを実行します。add(Calendar.DAY_OF_MONTH, -5)
.- パラメータ:
field
- カレンダ・フィールド。amount
- フィールドに追加される日付または時間の量。- 関連項目:
roll(int,int)
,set(int,int)
-
roll
public abstract void roll(int field, boolean up)大きいフィールドを変更せずに指定された時間フィールドの1つの単位の時間を上または下に加算または減算します。 たとえば、現在の日付を1日だけ上へ動かすには、次のようにrollメソッドを呼び出します。roll(Calendar.DATE, true)。 年またはCalendar.YEARフィールドを動かすと、年の値は、1と
getMaximum(Calendar.YEAR)
で返される値の範囲の年に変わります。 月またはCalendar.MONTHフィールドを動かすと、日付などのほかのフィールドが矛盾を起こす場合があるので、その場合はそれらのフィールドを変更する必要があります。 たとえば、日付01/31/96の月を動かすと、結果は02/29/96となります。 日の時間またはCalendar.HOUR_OF_DAYフィールドを動かすと、時の値は、0と23の範囲の値(ゼロ・ベース)に変わります。- パラメータ:
field
- 時間フィールド。up
- 指定された時間フィールドの値を上へ動かすのか、下へ動かすのかを指定する。 上へ動かす場合はtrue、そうでない場合はfalseを使用する。- 関連項目:
add(int,int)
,set(int,int)
-
roll
public void roll(int field, int amount)大きいフィールドを変更せずに、指定された(符号付きの)量を指定されたカレンダ・フィールドに加えます。 負の量は下へローリングすることを意味します。ノート:
Calendar
に対するこのデフォルト実装は、一単位だけローリングするroll()
のバージョンを繰返し呼び出します。 これは常に適切に動作するとは限りません。 たとえば、DAY_OF_MONTH
フィールドが31の場合、2月をローリングすると、そのフィールドを28に設定したままにします。 この機能のGregorianCalendar
バージョンはこの問題に対応しています。 ほかのサブクラスではこの機能のオーバーライドも提供する必要があり、これは適切な動作です。- パラメータ:
field
- カレンダ・フィールド。amount
- カレンダfield
に追加する指定された量。- 導入されたバージョン:
- 1.2
- 関連項目:
roll(int,boolean)
,add(int,int)
,set(int,int)
-
setTimeZone
public void setTimeZone(TimeZone value)指定されたタイムゾーン値を使用してタイムゾーンを設定します。- パラメータ:
value
- 指定されたタイムゾーン。
-
getTimeZone
public TimeZone getTimeZone()タイムゾーンを取得します。- 戻り値:
- カレンダに関連したタイムゾーン・オブジェクト。
-
setLenient
public void setLenient(boolean lenient)日付/時間の解釈を厳密に行うかどうかを設定します。 厳密でない解釈では、「1996年2月942日」のような日付は、1996年2月1日から第941日目と同じこととみなされます。 厳密な解釈では、このような日付の場合、例外がスローされます。 デフォルトは非厳密です。- パラメータ:
lenient
- 非厳密モードがオンの場合はtrue
、そうでない場合はfalse
。- 関連項目:
isLenient()
,DateFormat.setLenient(boolean)
-
isLenient
public boolean isLenient()日付/時間の解釈が厳密でないかどうかを指定します。- 戻り値:
- このカレンダの解釈モードが非厳密の場合は
true
、そうでない場合はfalse
。 - 関連項目:
setLenient(boolean)
-
setFirstDayOfWeek
public void setFirstDayOfWeek(int value)週の最初の曜日が何であるかを設定します。たとえば、米国ではSUNDAY
、フランスではMONDAY
です。- パラメータ:
value
- 指定された週の最初の日。- 関連項目:
getFirstDayOfWeek()
,getMinimalDaysInFirstWeek()
-
getFirstDayOfWeek
public int getFirstDayOfWeek()週の最初の曜日が何であるかを取得します。たとえば、米国ではSUNDAY
、フランスではMONDAY
です。- 戻り値:
- 週の最初の日。
- 関連項目:
setFirstDayOfWeek(int)
,getMinimalDaysInFirstWeek()
-
setMinimalDaysInFirstWeek
public void setMinimalDaysInFirstWeek(int value)年の最初の週に必要な最小日数を設定します。たとえば、最初の週が、年の最初の月の最初の日を含むものとして定義されている場合は、値1でこのメソッドを呼び出します。 必要な日数が完全な一週間分である場合は、値7を使用します。- パラメータ:
value
- 年の最初の週に必要な指定された最小日数。- 関連項目:
getMinimalDaysInFirstWeek()
-
getMinimalDaysInFirstWeek
public int getMinimalDaysInFirstWeek()年の最初の週に必要な最小日数を取得します。たとえば、最初の週が、年の第1週の1日目を含むものとして定義されている場合、このメソッドは1を返します。 必要な最小日数が完全な一週間分である場合、このメソッドは7を使用します。- 戻り値:
- 年の最初の週に必要な最小日数。
- 関連項目:
setMinimalDaysInFirstWeek(int)
-
isWeekDateSupported
public boolean isWeekDateSupported()このCalendar
が暦週日付をサポートしているかどうかを返します。このメソッドのデフォルト実装は
false
を返します。- 戻り値:
- この
Calendar
が暦週日付をサポートする場合はtrue
を返し、そうでない場合はfalse
を返します。 - 導入されたバージョン:
- 1.7
- 関連項目:
getWeekYear()
,setWeekDate(int,int,int)
,getWeeksInWeekYear()
-
getWeekYear
public int getWeekYear()このCalendar
で表される暦週の基準年を返します。 暦週の基準年は、週のサイクルと同期がとられます。 最初の週の最初の日は、暦週の基準年の最初の日になります。このメソッドのデフォルト実装は
UnsupportedOperationException
をスローします。- 戻り値:
- この
Calendar
の暦週の基準年 - 例外:
UnsupportedOperationException
- 暦週の基準年の番号付けがこのCalendar
でサポートされていない場合。- 導入されたバージョン:
- 1.7
- 関連項目:
isWeekDateSupported()
,getFirstDayOfWeek()
,getMinimalDaysInFirstWeek()
-
setWeekDate
public void setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)Calendar
の日付を、指定された日付指定子で設定 - 週の年、週の週、および曜日。set
メソッドと異なり、すべてのカレンダ・フィールドおよびtime
の値は返された時点で計算されます。weekOfYear
がweekYear
の有効週末範囲外にある場合、weekYear
およびweekOfYear
の値は緩やかなモードで調整されるか、IllegalArgumentException
は非緩やかなモードでスローされます。このメソッドのデフォルト実装は
UnsupportedOperationException
をスローします。- パラメータ:
weekYear
- 暦週の基準年weekOfYear
-weekYear
に基づく週番号dayOfWeek
- 曜日の値。DAY_OF_WEEK
フィールドの定数(SUNDAY
、...、SATURDAY
)の1つ。- 例外:
IllegalArgumentException
- 厳密モードで、指定されたいずれかの日付指定子が無効であるか、いずれかのカレンダ・フィールドが、指定された日付指定子と矛盾している場合UnsupportedOperationException
- 暦週の基準年の番号付けがこのCalendar
でサポートされていない場合。- 導入されたバージョン:
- 1.7
- 関連項目:
isWeekDateSupported()
,getFirstDayOfWeek()
,getMinimalDaysInFirstWeek()
-
getWeeksInWeekYear
public int getWeeksInWeekYear()このCalendar
で表される暦週の基準年に含まれる週数を返します。このメソッドのデフォルト実装は
UnsupportedOperationException
をスローします。- 戻り値:
- 暦週の基準年に含まれる週数。
- 例外:
UnsupportedOperationException
- 暦週の基準年の番号付けがこのCalendar
でサポートされていない場合。- 導入されたバージョン:
- 1.7
- 関連項目:
WEEK_OF_YEAR
,isWeekDateSupported()
,getWeekYear()
,getActualMaximum(int)
-
getMinimum
public abstract int getMinimum(int field)このCalendar
インスタンスで指定されたカレンダ・フィールドの最小値を返します。 最小値は、すべての可能な時間値に対してget
メソッドで返された最小値として定義されます。 最小値は、インスタンスの特定のパラメータを持つそれぞれの暦体系によって異なります。- パラメータ:
field
- カレンダ・フィールド。- 戻り値:
- 指定されたカレンダ・フィールドの最小値。
- 関連項目:
getMaximum(int)
,getGreatestMinimum(int)
,getLeastMaximum(int)
,getActualMinimum(int)
,getActualMaximum(int)
-
getMaximum
public abstract int getMaximum(int field)このCalendar
インスタンスで指定されたカレンダ・フィールドの最大値を返します。 最大値は、すべての可能な時間値に対してget
メソッドで返された最大値として定義されます。 最大値は、インスタンスの特定のパラメータを持つそれぞれの暦体系によって異なります。- パラメータ:
field
- カレンダ・フィールド。- 戻り値:
- 指定されたカレンダ・フィールドの最大値。
- 関連項目:
getMinimum(int)
,getGreatestMinimum(int)
,getLeastMaximum(int)
,getActualMinimum(int)
,getActualMaximum(int)
-
getGreatestMinimum
public abstract int getGreatestMinimum(int field)このCalendar
インスタンスで指定されたカレンダ・フィールドの最大最小値を返します。 最大最小値は、すべての可能な時間値に対してgetActualMinimum(int)
メソッドで返された最大値として定義されます。 最大最小値は、インスタンスの特定のパラメータを持つそれぞれの暦体系によって異なります。- パラメータ:
field
- カレンダ・フィールド。- 戻り値:
- 指定されたカレンダ・フィールドのもっとも大きい最小値。
- 関連項目:
getMinimum(int)
,getMaximum(int)
,getLeastMaximum(int)
,getActualMinimum(int)
,getActualMaximum(int)
-
getLeastMaximum
public abstract int getLeastMaximum(int field)このCalendar
インスタンスで指定されたカレンダ・フィールドの最小最大値を返します。 最小最大値は、すべての可能な時間値に対してgetActualMaximum(int)
メソッドで返された最小値として定義されます。 最小最大値は、インスタンスの特定のパラメータを持つそれぞれの暦体系によって異なります。 たとえば、グレゴリオ暦のシステムのCalendar
では、DAY_OF_MONTH
フィールドに28が返されます。これは、このカレンダでは日数がもっとも少ない月の最後の日が、平年の2月の28番目の日であるためです。- パラメータ:
field
- カレンダ・フィールド。- 戻り値:
- 指定されたカレンダ・フィールドの最小最大値。
- 関連項目:
getMinimum(int)
,getMaximum(int)
,getGreatestMinimum(int)
,getActualMinimum(int)
,getActualMaximum(int)
-
getActualMinimum
public int getActualMinimum(int field)このCalendar
に時間値を指定した、指定のカレンダ・フィールドが取り得る最小値を返します。このメソッドのデフォルトの実装では、カレンダ・フィールドの実際の最小値を決定するために反復アルゴリズムを使用します。 可能な場合はサブクラスがこれをより効率的な実装でオーバーライドします。多くの場合、実際には単に
getMinimum()
が返されることによってオーバーライドされます。- パラメータ:
field
- カレンダ・フィールド- 戻り値:
- この
Calendar
の時間値に対する、指定されたカレンダ・フィールドの最小値 - 導入されたバージョン:
- 1.2
- 関連項目:
getMinimum(int)
,getMaximum(int)
,getGreatestMinimum(int)
,getLeastMaximum(int)
,getActualMaximum(int)
-
getActualMaximum
public int getActualMaximum(int field)このCalendar
に時間値を指定して、指定のカレンダ・フィールドが取り得る最大値を返します。 たとえば、MONTH
フィールドの実際の最大値は、ある年では12になり、ヘブライ暦システムの場合の別の年では13になります。このメソッドのデフォルトの実装では、カレンダ・フィールドの実際の最大値を決定するために反復アルゴリズムを使用します。 可能な場合はサブクラスがこれをより効率的な実装でオーバーライドします。
- パラメータ:
field
- カレンダ・フィールド- 戻り値:
- この
Calendar
の時間値に対する、指定されたカレンダ・フィールドの最大値 - 導入されたバージョン:
- 1.2
- 関連項目:
getMinimum(int)
,getMaximum(int)
,getGreatestMinimum(int)
,getLeastMaximum(int)
,getActualMinimum(int)
-
clone
public Object clone()このオブジェクトのコピーを作成して、返します。 -
toString
public String toString()カレンダの文字列表現を返します。 このメソッドはデバッグのためだけに使われ、返される文字列の形式は実装によって異なります。 返された文字列は空である可能性がありますが、null
にはなりません。 -
toInstant
public final Instant toInstant()このオブジェクトをInstant
に変換します。この変換では、時系列上でこの
Calendar
と同じ時点を表すInstant
を作成します。- 戻り値:
- 時系列上の同じ時点を表すインスタント
- 導入されたバージョン:
- 1.8
-