JavaTM 2 Platform
Standard Ed. 5.0

java.util
クラス Calendar

java.lang.Object
  上位を拡張 java.util.Calendar
すべての実装されたインタフェース:
Serializable, Cloneable, Comparable<Calendar>
直系の既知のサブクラス:
GregorianCalendar

public abstract class Calendar
extends Object
implements Serializable, Cloneable, Comparable<Calendar>

Calendar クラスは、特定の時点と YEARMONTHDAY_OF_MONTHHOUR などのカレンダフィールドセット間の変換、および次週の日付の取得などのカレンダフィールド操作を行うための抽象クラスです。特定の時点は、1970 年 1 月 1 日 00:00:00.000 GMT (グレゴリオ暦) を「エポック」とするミリ秒単位のオフセットで表現できます。

このクラスは、パッケージ外部の具象カレンダシステムを実装するための追加メソッドおよびフィールドも提供します。これらのフィールドおよびメソッドは、protected として定義されます。

ロケールに依存する他のクラスと同じように、Calendar では、この種の一般に役立つオブジェクトを得るためのクラスメソッド getInstance が提供されます。CalendargetInstance メソッドは、Calendar オブジェクトを返しますが、このカレンダフィールドは現在の日付と時刻に初期化されています。


     Calendar rightNow = Calendar.getInstance();
 

Calendar オブジェクトでは、特定の言語およびカレンダスタイル (日本のグレゴリオ暦、日本の旧暦など) に対して、日付と時刻のフォーマットを行うときに必要なすべてのカレンダフィールド値を生成できます。Calendar では、特定のカレンダフィールドとその意味の両方によって返される値の範囲が定義されます。たとえば、カレンダシステムの最初の月には、すべてのカレンダについて値 MONTH == JANUARY があります。他の値は、ERA などの具象サブクラスで定義されます。詳細は、個別のフィールドドキュメントおよびサブクラスドキュメントを参照してください。

カレンダフィールド値の取得と設定

カレンダフィールド値は、set メソッドを呼び出して設定できます。Calendar 内で設定されたフィールド値はすべて、その時間値 (「エポック」からのミリ秒) またはカレンダフィールドの値を計算する必要が生じるまで解釈されません。getgetTimeInMillisgetTimeadd、および roll の呼び出しでは、この種の計算が行われます。

非厳密性

Calendar は、カレンダフィールドを解釈する際、「厳密」および「非厳密」の 2 つのモードを使用します。非厳密モードの場合、Calendar はそれ自身が生成する値よりも広範なカレンダフィールド値を受け入れます。Calendar が、get() の値を返すためにカレンダフィールド値を再計算する際、すべてのカレンダフィールドが正規化されます。たとえば、非厳密な GregorianCalendar は、MONTH == JANUARYDAY_OF_MONTH == 32 を 2 月 1 日として解釈します。

厳密モードの場合、カレンダフィールド内に不一致があると、Calendar は例外をスローします。たとえば、GregorianCalendar は、DAY_OF_MONTH 値として 1 とその月の長さの間の値を常に生成します。厳密な GregorianCalendar は、時間およびカレンダフィールド値を計算する際、範囲外のフィールド値が設定されていると例外をスローします。

最初の週

Calendar では、週の最初の日および最初の週の最小日数 (1 から 7) という 2 つのパラメータを使用して、ロケール固有の週 7 日が定義されます。これらの数は、Calendar が構築されるときにロケールリソースデータから取得されます。また、これらの値の設定用メソッドによって明示的に指定されることもあります。

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 = 1970MONTH = JANUARYDAY_OF_MONTH = 1 等になります。

注: 一部の特別な時間では、その解釈があいまいになることもあります。その場合には、次のように解決されます。

  1. 23:59 は一日の最後の分で、00:00 は翌日の最初の分になります。したがって、1999 年 12 月 31 日 23:59 < 2000 年 1 月 1 日 00:00 < 2000 年 1 月 1 日 00:01 となります。
  2. 歴史的に厳密なわけではありませんが、真夜中は「am」に、正午は「pm」に属します。したがって、同じ日の 12:00 am (真夜中) < 12:01 am、および 12:00 pm (正午) < 12:01 pm となります。

日付や時刻のフォーマット文字列は、カレンダの定義の一部ではありません。これらが実行時にユーザによって修正可能で、オーバーライド可能である必要があるためです。日付をフォーマットするには、DateFormat を使用してください。

フィールド操作

カレンダフィールドは、set()add()、および roll() という 3 つのメソッドを使用して変更できます。

set(f, value) では、カレンダフィールド fvalue に変更されます。さらに、フィールド 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) では、フィールド fdelta が追加されます。これは、2 つの調整によって set(f, get(f) + delta) を呼び出すのと同じです。

Add rule 1。呼び出しがフィールド f で発生したモジュロオーバーフロー delta になる前に、呼び出しでフィールド f の値を引いたあとの f の値です。オーバーフローは、フィールドの値が範囲を超え、その結果、次の大きいフィールドが増分または減分されて、フィールドの値がその範囲に入るよう調整された場合に発生します。

Add rule 2。小さいフィールドが不変式であると予想される場合に、フィールド f の変更後に最小値または最大値が変更されるか、タイムゾーンオフセットなどの他の制約が変更されたために、その前の値と等しくならないと、フィールドの値はその予想される値にできるだけ近くなるように調整されます。小さいフィールドは、小さい時間の単位を表します。HOUR は、DAY_OF_MONTH よりも小さいフィールドです。不変式ではないと予想される小さいフィールドは、調整されません。カレンダシステムでは、不変式であると予想されるフィールドが判断されます。

さらに、set() とは異なり、add() ではカレンダのミリ秒およびすべてのフィールドがただちに強制的に再計算されます。

例: 最初に 1999 年 8 月 31 日に設定された GregorianCalendar を考えます。add(Calendar.MONTH, 13) を呼び出すと、カレンダが 2000 年 9 月 30 日に設定されます。8 月に 13 か月を追加すると翌年の 9 月になるため、Add rule 1 によって MONTH フィールドが 9 月に設定されます。DAY_OF_MONTHGregorianCalendar では 9 月の 31 日にはできないため、add rule 2 によって DAY_OF_MONTH がもっとも近い可能な値の 30 に設定されます。これは小さいフィールドですが、GregorianCalendar で月が変更されるときに変更が予定されているため、DAY_OF_WEEK はルール 2 によっては調整されません。

roll(f, delta) では、大きいフィールドを変更せずにフィールド fdelta が追加されます。これは、以下の調整によって add(f, delta) を呼び出すのと同じです。

Roll rule。呼び出しのあと、大きいフィールドは変更されません。大きいフィールドは、大きい時間の単位を表します。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() を使用することで、ユーザインタフェースは、ほとんどのユーザが直観的に期待するとおりに動作します。

導入されたバージョン:
JDK1.1
関連項目:
System.currentTimeMillis(), Date, GregorianCalendar, TimeZone, DateFormat, 直列化された形式

フィールドの概要
static int AM
          真夜中から正午の前までの時間を示す AM_PM フィールドの値です。
static int AM_PM
          get および set のためのフィールド値で、HOUR が正午より前であるか後であるかを示します。
static int APRIL
          4 番目の月を示す MONTH フィールドの値です。
protected  boolean areFieldsSet
          fields[] が現在設定されている時刻と同期をとっている場合は true です。
static int AUGUST
          8 番目の月を示す MONTH フィールドの値です。
static int DATE
          get および set のためのフィールド値で、月の日を示します。
static int DAY_OF_MONTH
          get および set のためのフィールド値で、月の日を示します。
static int DAY_OF_WEEK
          get および set のためのフィールド値で、曜日を示します。
static int DAY_OF_WEEK_IN_MONTH
          get および set のためのフィールド値で、現在の月の何度目の曜日かを示します。
static int DAY_OF_YEAR
          get および set のためのフィールド値で、現在の年の何日目かを示します。
static int DECEMBER
          12 番目の月を示す MONTH フィールドの値です。
static int DST_OFFSET
          get および set のためのフィールド値で、夏時間のオフセットをミリ秒単位で示します。
static int ERA
          get および set のためのフィールド値で、ユリウス暦の AD または BC などの年代を示します。
static int FEBRUARY
          2 番目の月を示す MONTH フィールドの値です。
static int FIELD_COUNT
          get および set によって識別される重複しないフィールドの数を示します。
protected  int[] fields
          このカレンダで現在設定されている時刻に対するカレンダフィールド値です。
static int FRIDAY
          金曜日を示す DAY_OF_WEEK フィールドの値です。
static int HOUR
          get および set のためのフィールド値で、午前または午後の何時かを示します。
static int HOUR_OF_DAY
          get および set のためのフィールド値で、時刻を示します。
protected  boolean[] isSet
          指定されたカレンダフィールドがカレンダで設定されているかどうかを示すフラグです。
protected  boolean isTimeSet
          time の値が有効である場合は true です。
static int JANUARY
          年の最初の月を示す MONTH フィールドの値です。
static int JULY
          7 番目の月を示す MONTH フィールドの値です。
static int JUNE
          6 番目の月を示す MONTH フィールドの値です。
static int MARCH
          3 番目の月を示す MONTH フィールドの値です。
static int MAY
          5 番目の月を示す MONTH フィールドの値です。
static int MILLISECOND
          get および set のためのフィールド値で、ミリ秒を示します。
static int MINUTE
          get および set のためのフィールド値で、分を示します。
static int MONDAY
          月曜日を示す DAY_OF_WEEK フィールドの値です。
static int MONTH
          get および set のための、月を示すフィールド値です。
static int NOVEMBER
          11 番目の月を示す MONTH フィールドの値です。
static int OCTOBER
          10 番目の月を示す MONTH フィールドの値です。
static int PM
          正午から真夜中の前までの時間を示す AM_PM フィールドの値です。
static int SATURDAY
          土曜日を示す DAY_OF_WEEK フィールドの値です。
static int SECOND
          get および set のためのフィールド値で、秒を示します。
static int SEPTEMBER
          9 番目の月を示す MONTH フィールドの値です。
static int SUNDAY
          日曜日を示す DAY_OF_WEEK フィールドの値です。
static int THURSDAY
          木曜日を示す DAY_OF_WEEK フィールドの値です。
protected  long time
          このカレンダで現在設定されている時刻です。
static int TUESDAY
          火曜日を示す DAY_OF_WEEK フィールドの値です。
static int UNDECIMBER
          13 番目の月を示す MONTH フィールドの値です。
static int WEDNESDAY
          水曜日を示す DAY_OF_WEEK フィールドの値です。
static int WEEK_OF_MONTH
          get および set のためのフィールド値で、現在の月の何週目かを示します。
static int WEEK_OF_YEAR
          get および set のためのフィールド値で、現在の年の何週目かを示します。
static int YEAR
          get および set のための、年を示すフィールド値です。
static int ZONE_OFFSET
          get および set のためのフィールド値で、GMT から直接計算したオフセットをミリ秒単位で示します。
 
コンストラクタの概要
protected Calendar()
          デフォルトのタイムゾーンおよびロケールを使用して Calendar を作成します。
protected Calendar(TimeZone zone, Locale aLocale)
          指定されたタイムゾーンおよびロケールを使用してカレンダを作成します。
 
メソッドの概要
abstract  void add(int field, int amount)
          カレンダの規則に基づいて、指定された時間量を指定されたカレンダフィールドに加算または減算します。
 boolean after(Object when)
          この Calendar が、指定された Object の表す時刻より後の時刻を表すかどうかを返します。
 boolean before(Object when)
          この Calendar が、指定された Object の表す時刻より前の時刻を表すかどうかを返します。
 void clear()
          この Calendar のすべてのカレンダフィールド値および時刻値 (エポックからのミリ秒単位のオフセット) を未定義に設定します。
 void clear(int field)
          この Calendar の指定されたカレンダフィールド値および時刻値 (エポックからのミリ秒単位のオフセット) を未定義に設定します。
 Object clone()
          このオブジェクトのコピーを作成して、返します。
 int compareTo(Calendar anotherCalendar)
          2 つの Calendar オブジェクトで表される時刻値 (エポックからのミリ秒単位のオフセット) を比較します。
protected  void complete()
          カレンダフィールドの未設定フィールドに値を入れます。
protected abstract  void computeFields()
          現在のミリ秒の時刻値 timefields[] 内のカレンダフィールド値に変換します。
protected abstract  void computeTime()
          fields[] 内の現在のカレンダフィールド値を、ミリ秒の時刻値 time に変換します。
 boolean equals(Object obj)
          この Calendar を指定された Object と比較します。
 int get(int field)
          指定されたカレンダフィールドの値を返します。
 int getActualMaximum(int field)
          この Calendar に時間値を指定した特定のカレンダフィールドが取り得る最大値を返します。
 int getActualMinimum(int field)
          この Calendar の時間値を指定した、指定のカレンダのフィールドが取り得る最小の値を返します。
static Locale[] getAvailableLocales()
          このクラスの getInstance メソッドが地域対応のインスタンスを返すことのできるロケールすべての配列を返します。
 int getFirstDayOfWeek()
          週の最初の日が何であるかを取得します。
abstract  int getGreatestMinimum(int field)
          この Calender インスタンスで指定されたカレンダフィールドの最大最小値を返します。
static Calendar getInstance()
          デフォルトのタイムゾーンとロケールを使用してカレンダを取得します。
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)
          この Calender インスタンスで指定されたカレンダフィールドの最大値を返します。
 int getMinimalDaysInFirstWeek()
          年の最初の週に必要な最小日数を取得します。
abstract  int getMinimum(int field)
          この Calender インスタンスで指定されたカレンダフィールドの最小値を返します。
 Date getTime()
          この Calendar の時刻値 (「エポック」からのミリ秒単位のオフセット) を表す Date オブジェクトを返します。
 long getTimeInMillis()
          この Calendar の時刻値をミリ秒で返します。
 TimeZone getTimeZone()
          タイムゾーンを取得します。
 int hashCode()
          このカレンダのハッシュコードを返します。
protected  int internalGet(int field)
          指定されたカレンダフィールドの値を返します。
 boolean isLenient()
          日付/時刻の解釈が厳密でないかどうかを指定します。
 boolean isSet(int field)
          指定されたカレンダフィールドが値セットを保持するかどうかを判定します。
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)
          カレンダフィールド YEARMONTH、および DAY_OF_MONTH の値を設定します。
 void set(int year, int month, int date, int hourOfDay, int minute)
          カレンダフィールド YEARMONTHDAY_OF_MONTHHOUR_OF_DAY、および MINUTE の値を設定します。
 void set(int year, int month, int date, int hourOfDay, int minute, int second)
          フィールド YEARMONTHDAY_OF_MONTHHOURMINUTE、および SECOND の値を設定します。
 void setFirstDayOfWeek(int value)
          週の最初の日が何であるかを設定します。
 void setLenient(boolean lenient)
          日付/時刻の解釈を厳密に行うかどうかを設定します。
 void setMinimalDaysInFirstWeek(int value)
          年の最初の週に必要な最小日数を設定します。
 void setTime(Date date)
          この Calendar の時間を、指定された Date に設定します。
 void setTimeInMillis(long millis)
          Calendar の現在時刻を、指定された long 値から設定します。
 void setTimeZone(TimeZone value)
          指定されたタイムゾーン値を使用してタイムゾーンを設定します。
 String toString()
          カレンダの文字列表現を返します。
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

ERA

public static final int ERA
get および set のためのフィールド値で、ユリウス暦の AD または BC などの年代を示します。これはカレンダ固有の値です。サブクラスのドキュメントを参照してください。

関連項目:
GregorianCalendar.AD, GregorianCalendar.BC, 定数フィールド値

YEAR

public static final int YEAR
get および set のための、年を示すフィールド値です。これはカレンダ固有の値です。サブクラスのドキュメントを参照してください。

関連項目:
定数フィールド値

MONTH

public static final int MONTH
get および set のための、月を示すフィールド値です。これはカレンダ固有の値です。年の最初の月は JANUARY で 、0 となります。最後の月は、1 年の月の数によります。

関連項目:
JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER, UNDECIMBER, 定数フィールド値

WEEK_OF_YEAR

public static final int WEEK_OF_YEAR
get および set のためのフィールド値で、現在の年の何週目かを示します。getFirstDayOfWeek() および getMinimalDaysInFirstWeek() で定義される年の最初の週には、値 1 が使用されます。サブクラスでは、年の最初の週より前の日に対して WEEK_OF_YEAR の値が定義されます。

関連項目:
getFirstDayOfWeek(), getMinimalDaysInFirstWeek(), 定数フィールド値

WEEK_OF_MONTH

public static final int WEEK_OF_MONTH
get および set のためのフィールド値で、現在の月の何週目かを示します。getFirstDayOfWeek() および getMinimalDaysInFirstWeek() で定義される月の最初の週には、値 1 が使用されます。サブクラスでは、月の最初の週より前の日に対して WEEK_OF_MONTH の値が定義されます。

関連項目:
getFirstDayOfWeek(), getMinimalDaysInFirstWeek(), 定数フィールド値

DATE

public static final int DATE
get および set のためのフィールド値で、月の日を示します。これは DAY_OF_MONTH と同じになります。月の最初の日には、値 1 が使用されます。

関連項目:
DAY_OF_MONTH, 定数フィールド値

DAY_OF_MONTH

public static final int DAY_OF_MONTH
get および set のためのフィールド値で、月の日を示します。これは DATE と同じになります。月の最初の日には、値 1 が使用されます。

関連項目:
DATE, 定数フィールド値

DAY_OF_YEAR

public static final int DAY_OF_YEAR
get および set のためのフィールド値で、現在の年の何日目かを示します。年の最初の日には、値 1 が使用されます。

関連項目:
定数フィールド値

DAY_OF_WEEK

public static final int DAY_OF_WEEK
get および set のためのフィールド値で、曜日を示します。このフィールドの値は、SUNDAYMONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAY、および SATURDAY になります。

関連項目:
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, 定数フィールド値

DAY_OF_WEEK_IN_MONTH

public static final int DAY_OF_WEEK_IN_MONTH
get および 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 -1DAY_OF_WEEK_IN_MONTH 5 および 4 の最後とオーバーラップします。

関連項目:
DAY_OF_WEEK, WEEK_OF_MONTH, 定数フィールド値

AM_PM

public static final int AM_PM
get および set のためのフィールド値で、HOUR が正午より前であるか後であるかを示します。たとえば、10:04:15.250 PM の場合、AM_PMPM になります。

関連項目:
AM, PM, HOUR, 定数フィールド値

HOUR

public static final int HOUR
get および 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_DAY
get および set のためのフィールド値で、時刻を示します。HOUR_OF_DAY は 24 時間制です。たとえば、10:04:15.250 PM の場合、HOUR_OF_DAY は 22 になります。

関連項目:
HOUR, 定数フィールド値

MINUTE

public static final int MINUTE
get および set のためのフィールド値で、分を示します。たとえば、10:04:15.250 PM の場合、MINUTE は 4 になります。

関連項目:
定数フィールド値

SECOND

public static final int SECOND
get および set のためのフィールド値で、秒を示します。たとえば、10:04:15.250 PM の場合、SECOND は 15 になります。

関連項目:
定数フィールド値

MILLISECOND

public static final int MILLISECOND
get および set のためのフィールド値で、ミリ秒を示します。たとえば、10:04:15.250 PM の場合、MILLISECOND は 250 になります。

関連項目:
定数フィールド値

ZONE_OFFSET

public static final int ZONE_OFFSET
get および set のためのフィールド値で、GMT から直接計算したオフセットをミリ秒単位で示します。

TimeZone 実装サブクラスが、GMT オフセットの歴史的変化をサポートする場合、このフィールドはこの Calendar のタイムゾーンの正確な GMT オフセット値を反映します。

関連項目:
定数フィールド値

DST_OFFSET

public static final int DST_OFFSET
get および set のためのフィールド値で、夏時間のオフセットをミリ秒単位で示します。

TimeZone 実装サブクラスが、夏時間のスケジュールの歴史的変化をサポートする場合、このフィールドはこの Calendar のタイムゾーンの正確な夏時間のオフセット値を反映します。

関連項目:
定数フィールド値

FIELD_COUNT

public static final int FIELD_COUNT
get および 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 UNDECIMBER
13 番目の月を示す MONTH フィールドの値です。GregorianCalendar ではこの値は使いませんが、太陰暦で使用します。

関連項目:
定数フィールド値

AM

public static final int AM
真夜中から正午の前までの時間を示す AM_PM フィールドの値です。

関連項目:
定数フィールド値

PM

public static final int PM
正午から真夜中の前までの時間を示す AM_PM フィールドの値です。

関連項目:
定数フィールド値

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 isTimeSet
time の値が有効である場合は true です。field[] の項目を変更することで、time は無効になります。

関連項目:
time

areFieldsSet

protected boolean areFieldsSet
fields[] が現在設定されている時刻と同期をとっている場合は true です。false の場合は、次にフィールドの値を取得しようとしたときに、time の現在値からのすべてのフィールドが再計算されます。

コンストラクタの詳細

Calendar

protected Calendar()
デフォルトのタイムゾーンおよびロケールを使用して Calendar を作成します。

関連項目:
TimeZone.getDefault()

Calendar

protected Calendar(TimeZone zone,
                   Locale aLocale)
指定されたタイムゾーンおよびロケールを使用してカレンダを作成します。

パラメータ:
zone - 使用するタイムゾーン
aLocale - 週のデータに使用するロケール
メソッドの詳細

getInstance

public static Calendar getInstance()
デフォルトのタイムゾーンとロケールを使用してカレンダを取得します。返された Calendar は、デフォルトロケールを持つデフォルトタイムゾーンの現在時刻に基づいています。

戻り値:
Calendar

getInstance

public static Calendar getInstance(TimeZone zone)
指定されたタイムゾーンとデフォルトのロケールを使用してカレンダを取得します。返された Calendar は、デフォルトロケールを持つ指定されたタイムゾーンの現在時刻に基づいています。

パラメータ:
zone - 使用するタイムゾーン
戻り値:
Calendar

getInstance

public static Calendar getInstance(Locale aLocale)
デフォルトのタイムゾーンと指定されたロケールを使用してカレンダを取得します。返された Calendar は、指定されたロケールを持つデフォルトのタイムゾーンの現在時刻に基づいています。

パラメータ:
aLocale - 週のデータに使用するロケール
戻り値:
Calendar

getInstance

public static Calendar getInstance(TimeZone zone,
                                   Locale aLocale)
指定されたタイムゾーンとロケールを使用して、カレンダを取得します。返された Calendar は、指定されたロケールを持つ指定されたタイムゾーンの現在時刻に基づいています。

パラメータ:
zone - 使用するタイムゾーン
aLocale - 週のデータに使用するロケール
戻り値:
Calendar

getAvailableLocales

public static Locale[] getAvailableLocales()
このクラスの getInstance メソッドが地域対応のインスタンスを返すことのできるロケールすべての配列を返します。返される配列は、Locale.US に等しい Locale インスタンスを最低限含んでいる必要があります。

戻り値:
地域対応の Calendar インスタンスを使用可能なロケールの配列

computeTime

protected abstract void computeTime()
fields[] 内の現在のカレンダフィールド値を、ミリ秒の時刻値 time に変換します。

関連項目:
complete(), computeFields()

computeFields

protected abstract void computeFields()
現在のミリ秒の時刻値 timefields[] 内のカレンダフィールド値に変換します。これにより、カレンダフィールドの値を、カレンダに設定されている新しい時刻と同期させることができます。time は最初に再計算されません。time を再計算してからフィールドを再計算するには、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
関連項目:
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)
カレンダフィールド YEARMONTH、および 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)
カレンダフィールド YEARMONTHDAY_OF_MONTHHOUR_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)
フィールド YEARMONTHDAY_OF_MONTHHOURMINUTE、および 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_DAYHOUR、および AM_PM フィールドはそれぞれ別個に処理され、時間の解決規則が適用されます。フィールドのどれかをクリアしても、この Calendar の「時」はリセットされません。「時」の値をリセットするには、set(Calendar.HOUR_OF_DAY, 0) を使用します。

パラメータ:
field - クリアするカレンダフィールド
関連項目:
clear()

isSet

public final boolean isSet(int field)
指定されたカレンダフィールドが値セットを保持するかどうかを判定します。get メソッド呼び出しによりトリガされた内部フィールド計算で値が設定された場合も、値セットを保持すると見なされます。

戻り値:
指定されたカレンダフィールドが値セットを保持する場合は true、そうでない場合は false

complete

protected void complete()
カレンダフィールドの未設定フィールドに値を入れます。カレンダフィールド値から時刻値 (エポックからのミリ秒単位のオフセット) が計算されていない場合、最初に computeTime() メソッドが呼び出されます。次に、computeFields() メソッドが呼び出されて、すべてのカレンダフィールド値が計算されます。


equals

public boolean equals(Object obj)
この Calendar を指定された Object と比較します。引数が、このオブジェクトと同じ Calendar パラメータの同じ時刻値 (エポックからのミリ秒単位のオフセット) を表す同じカレンダシステムの Calendar オブジェクトである場合にのみ、結果は true になります。

Calendar パラメータは、isLenientgetFirstDayOfWeekgetMinimalDaysInFirstWeek、および getTimeZone メソッドにより表現される値です。2 つの Calendar 間のパラメータに相違がある場合、このメソッドは false を返します。

時刻値だけを比較する場合は、compareTo メソッドを使用します。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - 比較対象のオブジェクト
戻り値:
このオブジェクトが obj と等しい場合は true、そうでない場合は false
関連項目:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
このカレンダのハッシュコードを返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
導入されたバージョン:
1.2
関連項目:
Object.equals(java.lang.Object), Hashtable

before

public boolean before(Object when)
この Calendar が、指定された Object の表す時刻より前の時刻を表すかどうかを返します。このメソッドが
compareTo(when) < 0
と等価になるのは、whenCalendar インスタンスである場合だけです。そうでない場合、このメソッドは false を返します。

パラメータ:
when - 比較対象の Object
戻り値:
この Calendar の時刻が when で表される時刻よりも前の場合は true、そうでない場合は false
関連項目:
compareTo(Calendar)

after

public boolean after(Object when)
この Calendar が、指定された Object の表す時刻より後の時刻を表すかどうかを返します。このメソッドが
compareTo(when) > 0
と等価になるのは、whenCalendar インスタンスである場合だけです。そうでない場合、このメソッドは false を返します。

パラメータ:
when - 比較対象の Object
戻り値:
この Calendar の時刻が when で表される時刻よりも後の場合は true、そうでない場合は false
関連項目:
compareTo(Calendar)

compareTo

public int compareTo(Calendar anotherCalendar)
2 つの Calendar オブジェクトで表される時刻値 (エポックからのミリ秒単位のオフセット) を比較します。

定義:
インタフェース Comparable<Calendar> 内の compareTo
パラメータ:
anotherCalendar - 比較対象の Calendar
戻り値:
引数で表される時刻がこの Calendar の表す時刻と等しい場合の値は 0。この Calendar の時刻が引数で表される時刻より前の場合は 0 未満の値。この Calendar の時刻が引数で表される時刻より後の場合は、0 より大きい値
例外:
NullPointerException - 指定された Calendarnull の場合
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 週目の第一日を含むものとして定義されている場合は、値 1 でこのメソッドを呼び出します。完全な一週間分でなければならない場合は、値 7 を使用します。

パラメータ:
value - 年の最初の週に必要な指定された最小日数
関連項目:
getMinimalDaysInFirstWeek()

getMinimalDaysInFirstWeek

public int getMinimalDaysInFirstWeek()
年の最初の週に必要な最小日数を取得します。たとえば、最初の週が、年の第 1 週の 1 日目を含むものとして定義されている場合、このメソッドは 1 を返します。必要な日数が完全な一週間分である場合、このメソッドは 7 を返します。

戻り値:
年の最初の週に必要な最小日数
関連項目:
setMinimalDaysInFirstWeek(int)

getMinimum

public abstract int getMinimum(int field)
この Calender インスタンスで指定されたカレンダフィールドの最小値を返します。最小値は、すべての可能な時間値に対して get メソッドで返された最小値として定義されます。最小値は、インスタンスの特定のパラメータを持つそれぞれのカレンダシステムによって異なります。

パラメータ:
field - カレンダフィールド
戻り値:
指定されたカレンダフィールドの最小値
関連項目:
getMaximum(int), getGreatestMinimum(int), getLeastMaximum(int), getActualMinimum(int), getActualMaximum(int)

getMaximum

public abstract int getMaximum(int field)
この Calender インスタンスで指定されたカレンダフィールドの最大値を返します。最大値は、すべての可能な時間値に対して get メソッドで返された最大値として定義されます。最大値は、インスタンスの特定のパラメータを持つそれぞれのカレンダシステムによって異なります。

パラメータ:
field - カレンダフィールド
戻り値:
指定されたカレンダフィールドの最大値
関連項目:
getMinimum(int), getGreatestMinimum(int), getLeastMaximum(int), getActualMinimum(int), getActualMaximum(int)

getGreatestMinimum

public abstract int getGreatestMinimum(int field)
この Calender インスタンスで指定されたカレンダフィールドの最大最小値を返します。最大最小値は、すべての可能な時間値に対して 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()
このオブジェクトのコピーを作成して、返します。

オーバーライド:
クラス Object 内の clone
戻り値:
このオブジェクトのコピー
関連項目:
Cloneable

toString

public String toString()
カレンダの文字列表現を返します。このメソッドはデバッグのためだけに使われ、返される文字列の形式は実装によって異なります。返される文字列は空の場合がありますが、null にはなりません。

オーバーライド:
クラス Object 内の toString
戻り値:
このカレンダの文字列表現

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。