クラスCalendar
- すべての実装されたインタフェース:
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の呼出しでは、この種の計算が行われます。 特に指定されていないかぎり、パラメータint fieldを含むCalendarメソッドは、指定されたフィールドが(field < 0 || field >= FIELD_COUNT)の範囲外である場合にArrayIndexOutOfBoundsExceptionをスローします。
非厳密性
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によっては調整されません。 うるう年では、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
- 関連項目:
-
ネストされたクラスのサマリー
ネストされたクラス -
フィールドのサマリー
フィールド修飾子と型フィールド説明static final int「January」や「Jan」などのすべてのスタイルで名前を示す、getDisplayNamesのスタイル指示子です。static final int深夜零時から正午の前までの時間を示すAM_PMフィールドの値です。static final intgetおよびsetのためのフィールド値で、HOURが正午より前であるかあとであるかを示します。static final intグレゴリオ暦とユリウス暦の年の4番目の月を示すMONTHフィールドの値です。protected booleanfields[]が現在設定されている時間と同期をとっている場合はtrueです。static final intグレゴリオ暦とユリウス暦の年の8番目の月を示すMONTHフィールドの値です。static final intgetおよびsetのためのフィールド値で、月の日を示します。static final intgetおよびsetのためのフィールド値で、月の日を示します。static final intgetおよびsetのためのフィールド値で、曜日を示します。static final intgetおよびsetのためのフィールド値で、現在の月の何度目の曜日かを示します。static final intgetおよびsetのためのフィールド値で、現在の年の何日目かを示します。static final intグレゴリオ暦とユリウス暦の年の12番目の月を示すMONTHフィールドの値です。static final intgetおよびsetのためのフィールド値で、夏時間のオフセットをミリ秒単位で示します。static final intgetおよびsetのためのフィールド値で、ユリウス暦のADまたはBCなどの年代を示します。static final intグレゴリオ暦とユリウス暦の年の2番目の月を示すMONTHフィールドの値です。static final intgetおよびsetによって認識される重複しないフィールドの数です。protected int[]このカレンダで現在設定されている時間に対するカレンダ・フィールド値です。static final int金曜日を示すDAY_OF_WEEKフィールドの値です。static final intgetおよびsetのためのフィールド値で、午前または午後の何時かを示します。static final intgetおよびsetのためのフィールド値で、時間を示します。protected boolean[]指定されたカレンダ・フィールドがカレンダで設定されているかどうかを示すフラグです。protected booleantimeの値が有効である場合はtrueです。static final intグレゴリオ暦とユリウス暦の年の最初の月を示すMONTHフィールドの値です。static final intグレゴリオ暦とユリウス暦の年の7番目の月を示すMONTHフィールドの値です。static final intグレゴリオ暦とユリウス暦の年の6番目の月を示すMONTHフィールドの値です。static final intLONG_FORMATと同等の、getDisplayNameおよびgetDisplayNamesのスタイル指示子です。static final intフォーマットに使用される長い名前を示す、getDisplayNameおよびgetDisplayNamesのスタイル指示子です。static final int独立して使用される長い名前(カレンダ・ヘッダーとしての月の名前など)を示すgetDisplayNameおよびgetDisplayNamesのスタイル指定子です。static final intグレゴリオ暦とユリウス暦の年の3番目の月を示すMONTHフィールドの値です。static final intグレゴリオ暦とユリウス暦の年の5番目の月を示すMONTHフィールドの値です。static final intgetおよびsetのためのフィールド値で、ミリ秒を示します。static final intgetおよびsetのためのフィールド値で、分を示します。static final int月曜日を示すDAY_OF_WEEKフィールドの値です。static final intgetおよびsetのためのフィールド値で、月を示します。static final intフォーマットに使用される縮小名を示すgetDisplayNameおよびgetDisplayNamesのスタイル指示子です。static final int独立して使用される縮小名を示すgetDisplayNameおよびgetDisplayNamesのスタイル指示子です。static final intグレゴリオ暦とユリウス暦の年の11番目の月を示すMONTHフィールドの値です。static final intグレゴリオ暦とユリウス暦の年の10番目の月を示すMONTHフィールドの値です。static final int正午から深夜零時の前までの時間を示すAM_PMフィールドの値です。static final int土曜日を示すDAY_OF_WEEKフィールドの値です。static final intgetおよびsetのためのフィールド値で、秒を示します。static final intグレゴリオ暦とユリウス暦の年の9番目の月を示すMONTHフィールドの値です。static final intSHORT_FORMATと同等の、getDisplayNameおよびgetDisplayNamesのスタイル指示子です。static final intフォーマットに使用される短い名前を示すgetDisplayNameおよびgetDisplayNamesのスタイル指示子です。static final int独立して使用される短い名前(月の略称やカレンダ・ヘッダーなど)を示すgetDisplayNameおよびgetDisplayNamesのスタイル指定子です。static final int日曜日を示すDAY_OF_WEEKフィールドの値です。static final int木曜日を示すDAY_OF_WEEKフィールドの値です。protected longこのカレンダで現在設定されている時間です。1970年1月1日0:00:00 (グリニッジ標準時)からの経過ミリ秒数で表されます。static final int火曜日を示すDAY_OF_WEEKフィールドの値です。static final int13番目の月を示すMONTHフィールドの値です。static final int水曜日を示すDAY_OF_WEEKフィールドの値です。static final intgetおよびsetのためのフィールド値で、現在の月の週番号を示します。static final intgetおよびsetのためのフィールド値で、現在の年の週番号を示します。static final intgetおよびsetのためのフィールド値で、年を示します。static final intgetおよびsetのためのフィールド値で、GMTから直接計算したオフセットをミリ秒単位で示します。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明abstract voidadd(int field, int amount) カレンダのルールに基づいて、指定された時間量を指定されたカレンダ・フィールドに加算または減算します。booleanこのCalendarが、指定されたObjectの表す時間よりあとの時間を表すかどうかを返します。booleanこのCalendarが、指定されたObjectの表す時間より前の時間を表すかどうかを返します。final voidclear()このCalendarのすべてのカレンダ・フィールド値および時間値(元期からのミリ秒単位のオフセット)を未定義に設定します。final voidclear(int field) このCalendarの指定されたカレンダ・フィールド値および時間値(元期からのミリ秒単位のオフセット)を未定義に設定します。clone()このオブジェクトのコピーを作成して、返します。int2つのCalendarオブジェクトで表される時間値(元期からのミリ秒単位のオフセット)を比較します。protected voidcomplete()カレンダ・フィールドの未設定フィールドに値を入れます。protected abstract voidprotected abstract voidbooleanこのCalendarを指定されたObjectと比較します。intget(int field) 指定されたカレンダ・フィールドの値を返します。intgetActualMaximum(int field) このCalendarに時間値を指定して、指定のカレンダ・フィールドが取り得る最大値を返します。intgetActualMinimum(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 intgetGreatestMinimum(int field) このCalendarインスタンスで指定されたカレンダ・フィールドの最大最小値を返します。static Calendarデフォルトのタイムゾーンおよびロケールを使用してカレンダを取得します。static CalendargetInstance(Locale aLocale) デフォルトのタイムゾーンおよび指定されたロケールを使用してカレンダを取得します。static CalendargetInstance(TimeZone zone) 指定されたタイムゾーンおよびデフォルトのロケールを使用してカレンダを取得します。static CalendargetInstance(TimeZone zone, Locale aLocale) 指定されたタイムゾーンおよびロケールを使用してカレンダを取得します。abstract intgetLeastMaximum(int field) このCalendarインスタンスで指定されたカレンダ・フィールドの最小最大値を返します。abstract intgetMaximum(int field) このCalendarインスタンスで指定されたカレンダ・フィールドの最大値を返します。int年の最初の週に必要な最小日数を取得します。たとえば、最初の週が、年の第1週の1日目を含むものとして定義されている場合、このメソッドは1を返します。abstract intgetMinimum(int field) このCalendarインスタンスで指定されたカレンダ・フィールドの最小値を返します。final DategetTime()このCalendarの時間値(元期からのミリ秒単位のオフセット)を表すDateオブジェクトを返します。longこのCalendarの時間値をミリ秒で返します。タイムゾーンを取得します。intこのCalendarで表される暦週の基準年に含まれる週数を返します。intこのCalendarで表される暦週の基準年を返します。inthashCode()このカレンダのハッシュ・コードを返します。protected final intinternalGet(int field) 指定されたカレンダ・フィールドの値を返します。boolean日付/時間の解釈が厳密でないかどうかを指定します。final booleanisSet(int field) 指定されたカレンダ・フィールドが値セットを保持するかどうかを判定します(getメソッド呼出しでトリガーされる内部フィールド計算によって値が設定された場合を含む)。booleanこのCalendarが暦週日付をサポートしているかどうかを返します。abstract voidroll(int field, boolean up) 大きいフィールドを変更せずに指定された時間フィールドの1つの単位の時間を上または下に加算または減算します。voidroll(int field, int amount) 大きいフィールドを変更せずに、指定された(符号付きの)量を指定されたカレンダ・フィールドに加えます。voidset(int field, int value) 指定されたカレンダ・フィールドを指定された値に設定します。final voidset(int year, int month, int date) カレンダ・フィールドYEAR、MONTH、およびDAY_OF_MONTHの値を設定します。final voidset(int year, int month, int date, int hourOfDay, int minute) カレンダ・フィールドYEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY、およびMINUTEの値を設定します。final voidset(int year, int month, int date, int hourOfDay, int minute, int second) フィールドYEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY、MINUTEおよびSECONDの値を設定します。voidsetFirstDayOfWeek(int value) 週の最初の曜日が何であるかを設定します。たとえば、米国ではSUNDAY、フランスではMONDAYです。voidsetLenient(boolean lenient) 日付/時間の解釈を厳密に行うかどうかを設定します。voidsetMinimalDaysInFirstWeek(int value) 年の最初の週に必要な最小日数を設定します。たとえば、最初の週が、年の最初の月の最初の日を含むものとして定義されている場合は、値1でこのメソッドを呼び出します。final voidこのCalendarの時間を、指定されたDateに設定します。voidsetTimeInMillis(long millis) Calendarの現在の時間を、指定されたlong値から設定します。voidsetTimeZone(TimeZone value) 指定されたタイムゾーン値を使用してタイムゾーンを設定します。voidsetWeekDate(int weekYear, int weekOfYear, int dayOfWeek) Calendarの日付を、指定された日付指定子で設定 - 週の年、年の週および曜日。final Instantこのオブジェクトを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
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になります。 それ以外の場合は、int値が受け入れられ、前述のいずれかの値に正規化されます。- 関連項目:
-
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の最後とオーバーラップします。- 関連項目:
-
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になります。- 関連項目:
-
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
-
MONDAY
-
TUESDAY
-
WEDNESDAY
-
THURSDAY
-
FRIDAY
-
SATURDAY
-
JANUARY
-
FEBRUARY
-
MARCH
-
APRIL
-
MAY
-
JUNE
-
JULY
-
AUGUST
-
SEPTEMBER
-
OCTOBER
-
NOVEMBER
-
DECEMBER
-
UNDECIMBER
public static final int UNDECIMBER13番目の月を示すMONTHフィールドの値です。GregorianCalendarではこの値は使いませんが、太陰暦で使用します。- 関連項目:
-
AM
-
PM
-
ALL_STYLES
public static final int ALL_STYLES「January」や「Jan」などのすべてのスタイルで名前を示す、getDisplayNamesのスタイル指示子です。- 導入されたバージョン:
- 1.6
- 関連項目:
-
SHORT
public static final int SHORTSHORT_FORMATと同等の、getDisplayNameおよびgetDisplayNamesのスタイル指示子です。- 導入されたバージョン:
- 1.6
- 関連項目:
-
LONG
public static final int LONGLONG_FORMATと同等の、getDisplayNameおよびgetDisplayNamesのスタイル指示子です。- 導入されたバージョン:
- 1.6
- 関連項目:
-
NARROW_FORMAT
public static final int NARROW_FORMATフォーマットに使用される縮小名を示すgetDisplayNameおよびgetDisplayNamesのスタイル指示子です。 縮小名は通常、1文字からなる文字列です(月曜日を表す「M」など)。- 導入されたバージョン:
- 1.8
- 関連項目:
-
NARROW_STANDALONE
public static final int NARROW_STANDALONE独立して使用される縮小名を示すgetDisplayNameおよびgetDisplayNamesのスタイル指示子です。 縮小名は通常、1文字からなる文字列です(月曜日を表す「M」など)。- 導入されたバージョン:
- 1.8
- 関連項目:
-
SHORT_FORMAT
public static final int SHORT_FORMATフォーマットに使用される短い名前を示すgetDisplayNameおよびgetDisplayNamesのスタイル指示子です。- 導入されたバージョン:
- 1.8
- 関連項目:
-
LONG_FORMAT
public static final int LONG_FORMATフォーマットに使用される長い名前を示す、getDisplayNameおよびgetDisplayNamesのスタイル指示子です。- 導入されたバージョン:
- 1.8
- 関連項目:
-
SHORT_STANDALONE
public static final int SHORT_STANDALONE独立して使用される短い名前(月の略称やカレンダ・ヘッダーなど)を示すgetDisplayNameおよびgetDisplayNamesのスタイル指定子です。- 導入されたバージョン:
- 1.8
- 関連項目:
-
LONG_STANDALONE
public static final int LONG_STANDALONE独立して使用される長い名前(カレンダ・ヘッダーとしての月の名前など)を示すgetDisplayNameおよびgetDisplayNamesのスタイル指定子です。- 導入されたバージョン:
- 1.8
- 関連項目:
-
fields
protected int[] fieldsこのカレンダで現在設定されている時間に対するカレンダ・フィールド値です。 これは、インデックス値ERAからDST_OFFSETまでの、FIELD_COUNT整数値の配列です。 -
isSet
protected boolean[] isSet指定されたカレンダ・フィールドがカレンダで設定されているかどうかを示すフラグです。 新しいオブジェクトには設定されているフィールドはありません。 フィールドを生成するメソッドを最初に呼び出したあと、すべてのフィールドは設定されたままになります。 これは、インデックス値ERAからDST_OFFSETまでの、FIELD_COUNTboolean値の配列です。 -
time
protected long timeこのカレンダで現在設定されている時間です。1970年1月1日0:00:00 (グリニッジ標準時)からの経過ミリ秒数で表されます。- 関連項目:
-
isTimeSet
protected boolean isTimeSettimeの値が有効である場合はtrueです。field[]の項目を変更することで、timeは無効になります。- 関連項目:
-
areFieldsSet
protected boolean areFieldsSetfields[]が現在設定されている時間と同期をとっている場合はtrueです。 falseの場合は、次にフィールドの値を取得しようとしたときに、timeの現在値からすべてのフィールドを再計算するよう強制します。
-
-
コンストラクタの詳細
-
Calendar
-
Calendar
-
-
メソッドの詳細
-
getInstance
public static Calendar getInstance()デフォルトのタイムゾーンおよびロケールを使用してカレンダを取得します。 返されたCalendarは、デフォルトのFORMATロケールを持つデフォルトのタイムゾーンの現在の時間に基づいています。ロケールに"tz" 「Unicode拡張」のタイムゾーンが含まれている場合は、そのタイムゾーンがかわりに使用されます。
- 戻り値:
- Calendar。
-
getInstance
指定されたタイムゾーンおよびデフォルトのロケールを使用してカレンダを取得します。 返されたCalendarは、デフォルトのFORMATロケールを持つ指定されたタイムゾーンの現在の時間に基づいています。- パラメータ:
zone- 使用するタイムゾーン- 戻り値:
- Calendar。
- スロー:
NullPointerException-zoneがnullである場合
-
getInstance
デフォルトのタイムゾーンおよび指定されたロケールを使用してカレンダを取得します。 返されたCalendarは、指定されたロケールを持つデフォルトのタイムゾーンの現在の時間に基づいています。ロケールに"tz" 「Unicode拡張」のタイムゾーンが含まれている場合は、そのタイムゾーンがかわりに使用されます。
- パラメータ:
aLocale- 週のデータに使用するロケール- 戻り値:
- Calendar。
- スロー:
NullPointerException-aLocaleがnullの場合
-
getInstance
指定されたタイムゾーンおよびロケールを使用してカレンダを取得します。 返されたCalendarは、指定されたロケールを持つデフォルトのタイムゾーンの現在の時間に基づいています。- パラメータ:
zone- 使用するタイムゾーンaLocale- 週のデータに使用するロケール- 戻り値:
- Calendar。
- スロー:
NullPointerException-zoneまたはaLocaleがnullの場合
-
getAvailableLocales
public static Locale[] getAvailableLocales()このクラスのgetInstanceメソッドがローカライズされたインスタンスを返すことのできるロケールすべての配列を返します。 少なくとも、返される配列には、Locale.ROOTに等しいLocaleインスタンスと、Locale.USに等しいLocaleインスタンスが含まれている必要があります。- 戻り値:
- ローカライズされた
Calendarインスタンスを使用可能なロケールの配列。
-
computeTime
-
computeFields
protected abstract void computeFields()現在のミリ秒単位の時間値timeをfields[]内のカレンダ・フィールド値に変換します。 これによって、カレンダ・フィールドの値を、カレンダに設定されている新しい時間と同期させることができます。 時間は最初に再計算されません。時間、フィールドの順に再計算するには、complete()メソッドを呼び出します。- 関連項目:
-
getTime
-
setTime
public final void setTime(Date date) このCalendarの時間を、指定されたDateに設定します。ノート:
Date(Long.MAX_VALUE)またはDate(Long.MIN_VALUE)でsetTime()を呼び出すと、get()から不正確なフィールド値が生じることがあります。- パラメータ:
date- 指定されたDate。- スロー:
NullPointerException-dateがnullである場合- 関連項目:
-
getTimeInMillis
public long getTimeInMillis()このCalendarの時間値をミリ秒で返します。- 戻り値:
- 元期からのUTCミリ秒値で表される現在の時間。
- 関連項目:
-
setTimeInMillis
public void setTimeInMillis(long millis) Calendarの現在の時間を、指定されたlong値から設定します。- パラメータ:
millis- 元期からのUTCミリ秒値で表される新しい時間。- 関連項目:
-
get
public int get(int field) 指定されたカレンダ・フィールドの値を返します。 非厳密モードでは、すべてのカレンダ・フィールドが正規化されます。 厳密モードでは、すべてのカレンダ・フィールドが検証され、カレンダ・フィールドが範囲外の値を保持する場合にはこのメソッドにより例外がスローされます。 正規化および検証はcomplete()メソッドによって処理されますが、そのプロセスは暦体系により異なります。- パラメータ:
field- 指定されたカレンダ・フィールド。- 戻り値:
- 指定されたカレンダ・フィールドの値。
- スロー:
IllegalArgumentException- このCalendarが非厳密でなく、カレンダ・フィールドのいずれかに無効な値がある場合。- 関連項目:
-
internalGet
protected final int internalGet(int field) 指定されたカレンダ・フィールドの値を返します。 このメソッドには、フィールド値の正規化や検証は含まれません。- パラメータ:
field- 指定されたカレンダ・フィールド。- 戻り値:
- 指定されたカレンダ・フィールドの値。
- 関連項目:
-
set
public void set(int field, int value) 指定されたカレンダ・フィールドを指定された値に設定します。 モードが厳密/非厳密であるかに関係なく、このメソッドが値を解釈することはありません。- パラメータ:
field- 指定されたカレンダ・フィールド。value- 指定されたカレンダ・フィールドに設定する値。- 関連項目:
-
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
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
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カレンダ・フィールドの設定に使用する値。- 関連項目:
-
clear
-
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- クリアするカレンダ・フィールド。- 関連項目:
-
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の名前が含まれるカレンダ・フィールドをサポートします。Calendarfieldの文字列表現がなく、カレンダが非厳密でないモードであり、カレンダ・フィールドに無効な値がある場合、nullが返されます。Calendarfieldの文字列表現があり、カレンダが非厳密でないモードで、カレンダ・フィールドに無効な値がある場合は、IllegalArgumentExceptionがスローされます。- パラメータ:
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を返します。getDisplayName(int, int, Locale)とは異なり、Calendarが非厳密でなく、カレンダ・フィールドのいずれかに無効な値がある場合、このメソッドはIllegalArgumentExceptionをスローしません。 かわりに、このメソッドはnullまたは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が無効な場合NullPointerException-localeがnullである場合- 導入されたバージョン:
- 1.6
-
complete
protected void complete()カレンダ・フィールドの未設定フィールドに値を入れます。 カレンダ・フィールド値から時間値(元期からのミリ秒単位のオフセット)が計算されていない場合、最初にcomputeTime()メソッドが呼び出されます。 次に、computeFields()メソッドが呼び出されて、すべてのカレンダ・フィールド値が計算されます。 -
getAvailableCalendarTypes
実行環境でCalendarによってサポートされるすべてのカレンダ・タイプを含む変更不可能なSetを返します。 使用可能なカレンダ・タイプをUnicodeロケール拡張に使用できます。 返されるSetには少なくとも"gregory".が含まれています。 カレンダ・タイプには別名("gregory"を表す"gregorian"など)は含まれません。- 戻り値:
- 使用可能なすべてのカレンダ・タイプを含む変更不可能な
Set - 導入されたバージョン:
- 1.8
- 関連項目:
-
getCalendarType
public String getCalendarType()このCalendarのカレンダ・タイプを返します。 カレンダ・タイプは、Unicode Locale Data Markup Language (LDML)仕様によって定義されます。このメソッドのデフォルトの実装では、この
Calendarインスタンスのクラス名を返します。 LDMLで定義された暦体系を実装するサブクラスは、このメソッドをオーバーライドして適切なカレンダ・タイプを返すはずです。- 戻り値:
- LDMLで定義されたカレンダ・タイプ、またはこの
Calendarインスタンスのクラス名 - 導入されたバージョン:
- 1.8
- 関連項目:
-
equals
public boolean equals(Object obj) このCalendarを指定されたObjectと比較します。 引数が、このオブジェクトと同じCalendarパラメータの同じ時間値(元期からのミリ秒単位のオフセット)を表す同じ暦体系のCalendarオブジェクトである場合にのみ、結果はtrueになります。Calendarパラメータは、isLenient、getFirstDayOfWeek、getMinimalDaysInFirstWeek、およびgetTimeZoneメソッドにより表現される値です。 2つのCalendar間のパラメータに相違がある場合、このメソッドはfalseを返します。時間値だけを比較する場合は、
compareToメソッドを使用します。 -
hashCode
-
before
public boolean before(Object when) このCalendarが、指定されたObjectの表す時間より前の時間を表すかどうかを返します。 このメソッドは、次と同等です。
等価になるのは、compareTo(when) < 0whenがCalendarインスタンスである場合だけです。 それ以外の場合、このメソッドはfalseを返します。- パラメータ:
when- 比較対象のObject- 戻り値:
- この
Calendarの時間がwhenで表される時間よりも前の場合はtrue、そうでない場合はfalse。 - 関連項目:
-
after
public boolean after(Object when) このCalendarが、指定されたObjectの表す時間よりあとの時間を表すかどうかを返します。 このメソッドは、次と同等です。
等価になるのは、compareTo(when) > 0whenがCalendarインスタンスである場合だけです。 それ以外の場合、このメソッドはfalseを返します。- パラメータ:
when- 比較対象のObject- 戻り値:
- この
Calendarの時間がwhenで表される時間よりもあとの場合はtrue、そうでない場合はfalse。 - 関連項目:
-
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- フィールドに追加される日付または時間の量。- スロー:
IllegalArgumentException- このCalendarが非厳密でなく、カレンダ・フィールドのいずれかに無効な値がある場合、またはfieldがZONE_OFFSET、DST_OFFSET、または不明の場合。- 関連項目:
-
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を使用する。- スロー:
IllegalArgumentException- このCalendarが非厳密でなく、カレンダ・フィールドのいずれかに無効な値がある場合、またはfieldがZONE_OFFSET、DST_OFFSET、または不明の場合。- 関連項目:
-
roll
public void roll(int field, int amount) 大きいフィールドを変更せずに、指定された(符号付きの)量を指定されたカレンダ・フィールドに加えます。 負の量は下へローリングすることを意味します。ノート:
Calendarに対するこのデフォルト実装は、一単位だけローリングするroll()のバージョンを繰返し呼び出します。 これは常に適切に動作するとは限りません。 たとえば、DAY_OF_MONTHフィールドが31の場合、2月をローリングすると、そのフィールドを28に設定したままにします。 この機能のGregorianCalendarバージョンはこの問題に対応しています。 ほかのサブクラスではこの機能のオーバーライドも提供する必要があり、これは適切な動作です。- パラメータ:
field- カレンダ・フィールド。amount- カレンダfieldに追加する指定された量。- スロー:
IllegalArgumentException- このCalendarが非厳密でなく、カレンダ・フィールドのいずれかに無効な値がある場合、またはfieldがZONE_OFFSET、DST_OFFSET、または不明の場合。- 導入されたバージョン:
- 1.2
- 関連項目:
-
setTimeZone
-
getTimeZone
-
setLenient
public void setLenient(boolean lenient) 日付/時間の解釈を厳密に行うかどうかを設定します。 厳密でない解釈では、「1996年2月942日」のような日付は、1996年2月1日から第941日目と同じこととみなされます。 厳密な解釈では、このような日付の場合、例外がスローされます。 デフォルトは非厳密です。- パラメータ:
lenient- 非厳密モードがオンの場合はtrue、そうでない場合はfalse。- 関連項目:
-
isLenient
public boolean isLenient()日付/時間の解釈が厳密でないかどうかを指定します。- 戻り値:
- このカレンダの解釈モードが非厳密の場合は
true、そうでない場合はfalse。 - 関連項目:
-
setFirstDayOfWeek
public void setFirstDayOfWeek(int value) 週の最初の曜日が何であるかを設定します。たとえば、米国ではSUNDAY、フランスではMONDAYです。- パラメータ:
value- 指定された週の最初の日。- 関連項目:
-
getFirstDayOfWeek
public int getFirstDayOfWeek()週の最初の曜日が何であるかを取得します。たとえば、米国ではSUNDAY、フランスではMONDAYです。- 戻り値:
- 週の最初の日。
- 関連項目:
-
setMinimalDaysInFirstWeek
public void setMinimalDaysInFirstWeek(int value) 年の最初の週に必要な最小日数を設定します。たとえば、最初の週が、年の最初の月の最初の日を含むものとして定義されている場合は、値1でこのメソッドを呼び出します。 必要な日数が完全な一週間分である場合は、値7を使用します。- パラメータ:
value- 年の最初の週に必要な指定された最小日数。- 関連項目:
-
getMinimalDaysInFirstWeek
public int getMinimalDaysInFirstWeek()年の最初の週に必要な最小日数を取得します。たとえば、最初の週が、年の第1週の1日目を含むものとして定義されている場合、このメソッドは1を返します。 必要な最小日数が完全な一週間分である場合、このメソッドは7を使用します。- 戻り値:
- 年の最初の週に必要な最小日数。
- 関連項目:
-
isWeekDateSupported
public boolean isWeekDateSupported()このCalendarが暦週日付をサポートしているかどうかを返します。このメソッドのデフォルト実装は
falseを返します。- 戻り値:
- この
Calendarが暦週日付をサポートする場合はtrueを返し、そうでない場合はfalseを返します。 - 導入されたバージョン:
- 1.7
- 関連項目:
-
getWeekYear
public int getWeekYear()このCalendarで表される暦週の基準年を返します。 暦週の基準年は、週のサイクルと同期がとられます。 最初の週の最初の日は、暦週の基準年の最初の日になります。このメソッドのデフォルト実装は
UnsupportedOperationExceptionをスローします。- 戻り値:
- この
Calendarの暦週の基準年 - スロー:
UnsupportedOperationException- 暦週の基準年の番号付けがこのCalendarでサポートされていない場合。- 導入されたバージョン:
- 1.7
- 関連項目:
-
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
- 関連項目:
-
getWeeksInWeekYear
public int getWeeksInWeekYear()このCalendarで表される暦週の基準年に含まれる週数を返します。このメソッドのデフォルト実装は
UnsupportedOperationExceptionをスローします。- 戻り値:
- 暦週の基準年に含まれる週数。
- スロー:
UnsupportedOperationException- 暦週の基準年の番号付けがこのCalendarでサポートされていない場合。- 導入されたバージョン:
- 1.7
- 関連項目:
-
getMinimum
public abstract int getMinimum(int field) このCalendarインスタンスで指定されたカレンダ・フィールドの最小値を返します。 最小値は、すべての可能な時間値に対してgetメソッドで返された最小値として定義されます。 最小値は、インスタンスの特定のパラメータを持つそれぞれの暦体系によって異なります。- パラメータ:
field- カレンダ・フィールド。- 戻り値:
- 指定されたカレンダ・フィールドの最小値。
- 関連項目:
-
getMaximum
public abstract int getMaximum(int field) このCalendarインスタンスで指定されたカレンダ・フィールドの最大値を返します。 最大値は、すべての可能な時間値に対してgetメソッドで返された最大値として定義されます。 最大値は、インスタンスの特定のパラメータを持つそれぞれの暦体系によって異なります。- パラメータ:
field- カレンダ・フィールド。- 戻り値:
- 指定されたカレンダ・フィールドの最大値。
- 関連項目:
-
getGreatestMinimum
public abstract int getGreatestMinimum(int field) このCalendarインスタンスで指定されたカレンダ・フィールドの最大最小値を返します。 最大最小値は、すべての可能な時間値に対してgetActualMinimum(int)メソッドで返された最大値として定義されます。 最大最小値は、インスタンスの特定のパラメータを持つそれぞれの暦体系によって異なります。- パラメータ:
field- カレンダ・フィールド。- 戻り値:
- 指定されたカレンダ・フィールドのもっとも大きい最小値。
- 関連項目:
-
getLeastMaximum
public abstract int getLeastMaximum(int field) このCalendarインスタンスで指定されたカレンダ・フィールドの最小最大値を返します。 最小最大値は、すべての可能な時間値に対してgetActualMaximum(int)メソッドで返された最小値として定義されます。 最小最大値は、インスタンスの特定のパラメータを持つそれぞれの暦体系によって異なります。 たとえば、グレゴリオ暦のシステムのCalendarでは、DAY_OF_MONTHフィールドに28が返されます。これは、このカレンダでは日数がもっとも少ない月の最後の日が、平年の2月の28番目の日であるためです。- パラメータ:
field- カレンダ・フィールド。- 戻り値:
- 指定されたカレンダ・フィールドの最小最大値。
- 関連項目:
-
getActualMinimum
public int getActualMinimum(int field) このCalendarに時間値を指定した、指定のカレンダ・フィールドが取り得る最小値を返します。このメソッドのデフォルトの実装では、カレンダ・フィールドの実際の最小値を決定するために反復アルゴリズムを使用します。 可能な場合はサブクラスがこれをより効率的な実装でオーバーライドします。多くの場合、実際には単に
getMinimum()が返されることによってオーバーライドされます。- パラメータ:
field- カレンダ・フィールド- 戻り値:
- この
Calendarの時間値に対する、指定されたカレンダ・フィールドの最小値 - 導入されたバージョン:
- 1.2
- 関連項目:
-
getActualMaximum
public int getActualMaximum(int field) このCalendarに時間値を指定して、指定のカレンダ・フィールドが取り得る最大値を返します。 たとえば、MONTHフィールドの実際の最大値は、ある年では12になり、ヘブライ暦システムの場合の別の年では13になります。このメソッドのデフォルトの実装では、カレンダ・フィールドの実際の最大値を決定するために反復アルゴリズムを使用します。 可能な場合はサブクラスがこれをより効率的な実装でオーバーライドします。
- パラメータ:
field- カレンダ・フィールド- 戻り値:
- この
Calendarの時間値に対する、指定されたカレンダ・フィールドの最大値 - 導入されたバージョン:
- 1.2
- 関連項目:
-
clone
-
toString
-
toInstant
-