Java プラットフォーム 1.2

java.util
クラス Calendar

java.lang.Object
  |
  +--java.util.Calendar
直接の既知のサブクラス:
GregorianCalendar

public abstract class Calendar
extends Object
implements Serializable, Cloneable

Calendar は、Date オブジェクトと、YEARMONTHDAYHOUR などの整数フィールドの間で変換を行うための抽象基底クラスです。Date オブジェクトは、特定の時点を表し、ミリ秒の精度を持っています。Date クラスについては、Date を参照してください。

Calendar のサブクラスは、特定のカレンダシステムの規則に従って Date を解釈します。JDK では Calendar の具象サブクラスとして GregorianCalendar が提供されます。将来のサブクラスでは、世界のいろいろな場所で使われる多種の暦を表わせるようになるでしょう。

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

 Calendar rightNow = Calendar.getInstance();
 

Calendar オブジェクトは、特定の言語とカレンダのスタイル (たとえば、日本のグレゴリオ暦、日本の旧暦) に対して、日付/時刻フォーマットを行うときに必要なすべての時間フィールド値を生成することができます。

複数の時間フィールドから Date を計算する場合、2 つの特別な状況になることがあります。つまり、Date を計算するための情報が不足している (年と月だけで日がない)、または情報に一貫性がない (たとえば「Tuesday, July 15, 1996」で、July 15, 1996 は実際には Monday) 場合です。

情報が不十分である - このカレンダでは、デフォルト情報を使って不足している情報を補います。これは、カレンダによって異なります。グレゴリオ暦の場合、フィールドのデフォルト値は、その期間の初めの値です。つまり、YEAR = 1970、MONTH = JANUARY、DATE = 1 などです。

情報に一貫性がない - フィールドが矛盾している場合、カレンダはあとに設定されたフィールドを優先します。たとえば、日付を判定するときには、カレンダは次のフィールドの組み合わせのどれかを探します。もっとも最近に設定されたフィールドによって判定される、最新の組み合わせが使用されます。

 MONTH + DAY_OF_MONTH
 MONTH + WEEK_OF_MONTH + DAY_OF_WEEK
 MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK
 DAY_OF_YEAR
 DAY_OF_WEEK + WEEK_OF_YEAR
 
時刻の場合
 HOUR_OF_DAY
 AM_PM + HOUR
 

注: 一部の非グレゴリオ暦では、あいまいさを完全に除くために、異なるフィールドが必要になる場合があります。たとえば、アラビアの昔の天文暦の完全な表現では、年、月、月の日、および場合によっては曜日が必要です。

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

  1. 24:00:00 は次の日に属する。つまり、1969 年 12 月 31 日 23:59 < 1970 年 1 月 1 日 24:00 < 1970 年 1 月 1 日 24:01:00
  2. 歴史的に厳密なわけではないが、真夜中は「am」に、正午は「pm」に属する。したがって、同じ日の 12:00 am (真夜中) < 12:01 am、および 12:00 pm (正午) < 12:01 pm

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

Calendar には、フィールドの「ローリング」を行う API があります。この場合、フィールドの値を増やしたり減らしたりすることができますが、折り返しが起こります。たとえば、日付 December 12, 1996 を上方にロールすると、January 12, 1996 になります。

さらに Calendar には、日付のオペレーション機能があるので、指定する時間量 (符号付き) を特定の時間フィールドに加えることができます。たとえば、日付 September 12, 1996 から 5 日を引くと、September 7, 1996 になります。

関連項目:
Date, GregorianCalendar, TimeZone, DateFormat, 直列化された形式

フィールドの概要
static int AM
          真夜中から正午の前までの時間を示す AM_PM フィールドの値です。
static int AM_PM
          get および set のためのフィールド値です。
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 のためのフィールド値です。
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 のためのフィールド値です。
 
コンストラクタの概要
protected Calendar()
          デフォルトのタイムゾーンおよびロケールを使用して Calendar を作成します。
protected Calendar(TimeZone zone, Locale aLocale)
          指定されたタイムゾーンおよびロケールを使用してカレンダを作成します。
 
メソッドの概要
abstract  void add(int field, int amount)
          Date のオペレーション機能です。
 boolean after(Object when)
          時間フィールドレコードを比較します。
 boolean before(Object when)
          時間フィールドレコードを比較します。
 void clear()
          すべての時間フィールドの値をクリアします。
 void clear(int field)
          指定された時間フィールドの値をクリアします。
 Object clone()
          Cloneable をオーバーライドします。
protected  void complete()
          時間フィールドリストの未設定フィールドに値を入れます。
protected abstract  void computeFields()
          現在のミリ秒の時刻値 timefields[] のフィールド値に変換します。
protected abstract  void computeTime()
          fields[] の現在のフィールド値をミリ秒の時刻値 time に変換します。
 boolean equals(Object obj)
          指定されたオブジェクトとカレンダを比較します。
 int get(int field)
          指定された時間フィールドの値を取得します。
 int getActualMaximum(int field)
          現在の日付に対する、このフィールドが持ち得る最大値を返します。
 int getActualMinimum(int field)
          現在の日付に対する、このフィールドが持ち得る最小値を返します。
static Locale[] getAvailableLocales()
          Calendar がインストールされるロケールのリストを取得します。
 int getFirstDayOfWeek()
          週の最初の日が何であるかを取得します。
abstract  int getGreatestMinimum(int field)
          指定されたフィールドの最小値が変化する場合、その最大値を取得します。
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)
          指定されたフィールドの最大値が変化する場合、その最小値を取得します。
abstract  int getMaximum(int field)
          指定された時間フィールドの最大値を取得します。
 int getMinimalDaysInFirstWeek()
          年の最初の週に必要な最小日数を取得します。
abstract  int getMinimum(int field)
          指定された時間フィールドの最小値を取得します。
 Date getTime()
          Calendar の現在時刻を取得します。
protected  long getTimeInMillis()
          Calendar の現在時刻を long で取得します。
 TimeZone getTimeZone()
          タイムゾーンを取得します。
 int hashCode()
          このカレンダのハッシュコードを返します。
protected  int internalGet(int field)
          指定された時間フィールドの値を取得します。
 boolean isLenient()
          日付/時刻の解釈が厳密でないかどうかを指定します。
 boolean isSet(int field)
          指定された時間フィールドに値が設定されているかどうかを判別します。
abstract  void roll(int field, boolean up)
          時間フィールドのローリング機能です。
 void roll(int field, int amount)
          時間フィールドのローリング機能です。
 void set(int field, int value)
          時間フィールドに、指定された値を設定します。
 void set(int year, int month, int date)
          年、月、日付のフィールドに値を設定します。
 void set(int year, int month, int date, int hour, int minute)
          年、月、日付、時、分のフィールドに値を設定します。
 void set(int year, int month, int date, int hour, int minute, int second)
          年、月、日付、時、分、秒のフィールドに値を設定します。
 void setFirstDayOfWeek(int value)
          週の最初の日が何であるかを設定します。
 void setLenient(boolean lenient)
          日付/時刻の解釈を厳密に行うかどうかを設定します。
 void setMinimalDaysInFirstWeek(int value)
          年の最初の週に必要な最小日数を設定します。
 void setTime(Date date)
          Calendar の現在の時刻を、指定された Date にします。
protected  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 のためのフィールド値です。月を示します。これはカレンダ固有の値です。

WEEK_OF_YEAR

public static final int WEEK_OF_YEAR
get および set のためのフィールド値です。現在の年における第何週目かを示します。

WEEK_OF_MONTH

public static final int WEEK_OF_MONTH
get および set のためのフィールド値です。現在の月における第何週目かを示します。

DATE

public static final int DATE
get および set のためのフィールド値です。月の日を示します。これは DAY_OF_MONTH と同じになります。
関連項目:
DAY_OF_MONTH

DAY_OF_MONTH

public static final int DAY_OF_MONTH
get および set のためのフィールド値です。月の日を示します。これは DATE と同じになります。
関連項目:
DATE

DAY_OF_YEAR

public static final int DAY_OF_YEAR
get および set のためのフィールド値です。現在の年における何日目かを示します。

DAY_OF_WEEK

public static final int DAY_OF_WEEK
get および set のためのフィールド値です。曜日を示します。

DAY_OF_WEEK_IN_MONTH

public static final int DAY_OF_WEEK_IN_MONTH
get および set のためのフィールド値です。現在の月における何度目の曜日かを示します。DAY_OF_WEEK フィールドとともに使用すると、月の日を一意に指定できます。たとえば、10 月の最後の日曜日は、DAY_OF_WEEK = Sunday, DAY_OF_WEEK_IN_MONTH = -1 と指定します。
関連項目:
DAY_OF_WEEK

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 時間制です。たとえば、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 から直接計算したオフセットをミリ秒単位で示します。

DST_OFFSET

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

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

getInstance

public static Calendar getInstance(TimeZone zone)
指定されたタイムゾーンおよびデフォルトのロケールを使用してカレンダを取得します。
パラメータ:
zone - 使用するタイムゾーン
戻り値:
Calendar

getInstance

public static Calendar getInstance(Locale aLocale)
デフォルトのタイムゾーンおよび指定されたロケールを使用してカレンダを取得します。
パラメータ:
aLocale - 週のデータに使用するロケール
戻り値:
Calendar

getInstance

public static Calendar getInstance(TimeZone zone,
                                   Locale aLocale)
指定されたタイムゾーンおよびロケールを使用してカレンダを取得します。
パラメータ:
zone - 使用するタイムゾーン
aLocale - 週のデータに使用するロケール
戻り値:
Calendar

getAvailableLocales

public static Locale[] getAvailableLocales()
Calendar がインストールされるロケールのリストを取得します。
戻り値:
Calendar がインストールされるロケールのリスト

computeTime

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

computeFields

protected abstract void computeFields()
現在のミリ秒の時刻値 timefields[] のフィールド値に変換します。これによって、時間フィールドの値を、カレンダに設定されている新しい時刻と同期させることができます。time は最初に再計算されません。time を再計算してからフィールドを再計算するには、complete メソッドを呼び出します。
関連項目:
complete()

getTime

public final Date getTime()
Calendar の現在時刻を取得します。
戻り値:
現在の時刻

setTime

public final void setTime(Date date)
Calendar の現在の時刻を、指定された Date にします。

注: Date(Long.MAX_VALUE) または Date(Long.MIN_VALUE)setTime() を呼び出すと、get() から不正確なフィールド値が生じることがあります。

パラメータ:
date - 指定された Date

getTimeInMillis

protected long getTimeInMillis()
Calendar の現在時刻を long で取得します。
戻り値:
エポックからの UTC ミリ秒値での現在時刻

setTimeInMillis

protected void setTimeInMillis(long millis)
Calendar の現在時刻を、指定された long 値から設定します。
パラメータ:
millis - エポックからの UTC ミリ秒値での新しい時刻

get

public final int get(int field)
指定された時間フィールドの値を取得します。
パラメータ:
field - 指定する時間フィールド
戻り値:
指定された時間フィールドの値

internalGet

protected final int internalGet(int field)
指定された時間フィールドの値を取得します。これは、サブクラスのために時間フィールドの値を内部的に高速で得るためのものです。
パラメータ:
field - 指定する時間フィールド
戻り値:
指定された時間フィールドの値

set

public final void set(int field,
                      int value)
時間フィールドに、指定された値を設定します。
パラメータ:
field - 指定する時間フィールド
value - 指定された時間フィールドに設定する値

set

public final void set(int year,
                      int month,
                      int date)
年、月、日付のフィールドに値を設定します。他のフィールドの以前の値は保持されます。保持されないようにする必要がある場合は、最初に clear を呼び出します。
パラメータ:
year - YEAR 時間フィールドに設定する値
month - MONTH 時間フィールドに設定する値。Month 値は 0 から始まる。つまり、0 は 1 月
date - DATE 時間フィールドに設定する値

set

public final void set(int year,
                      int month,
                      int date,
                      int hour,
                      int minute)
年、月、日付、時、分のフィールドに値を設定します。他のフィールドの以前の値は保持されます。保持されないようにする必要がある場合は、最初に clear を呼び出します。
パラメータ:
year - YEAR 時間フィールドに設定する値
month - MONTH 時間フィールドに設定する値。Month 値は 0 から始まる。つまり、0 は 1 月
date - DATE 時間フィールドに設定する値
hour - HOUR_OF_DAY 時間フィールドに設定する値
minute - MINUTE 時間フィールドに設定する値

set

public final void set(int year,
                      int month,
                      int date,
                      int hour,
                      int minute,
                      int second)
年、月、日付、時、分、秒のフィールドに値を設定します。他のフィールドの以前の値は保持されます。保持されないようにする必要がある場合は、最初に clear を呼び出します。
パラメータ:
year - YEAR 時間フィールドに設定する値
month - MONTH 時間フィールドに設定する値。Month 値は 0 から始まる。つまり、0 は 1 月
date - DATE 時間フィールドに設定する値
hour - HOUR_OF_DAY 時間フィールドに設定する値
minute - MINUTE 時間フィールドに設定する値
second - SECOND 時間フィールドに設定する値

clear

public final void clear()
すべての時間フィールドの値をクリアします。

clear

public final void clear(int field)
指定された時間フィールドの値をクリアします。
パラメータ:
field - クリアする時間フィールド

isSet

public final boolean isSet(int field)
指定された時間フィールドに値が設定されているかどうかを判別します。
戻り値:
指定された時間フィールドに値が設定されてる場合は true、そうでない場合は false

complete

protected void complete()
時間フィールドリストの未設定フィールドに値を入れます。

equals

public boolean equals(Object obj)
指定されたオブジェクトとカレンダを比較します。引数が null でなく、このオブジェクトと同じカレンダを表す Calendar オブジェクトである場合にだけ、結果は true になります。
パラメータ:
obj - 比較対象のオブジェクト
戻り値:
オブジェクトが同じである場合は true、そうでない場合は false
オーバーライド:
クラス Object 内の equals

hashCode

public int hashCode()
このカレンダのハッシュコードを返します。
戻り値:
このオブジェクトのハッシュコード値
オーバーライド:
クラス Object 内の hashCode

before

public boolean before(Object when)
時間フィールドレコードを比較します。UTC への変換の結果を比較するのと同じことです。
パラメータ:
when - Calendar と比較する Calendar
戻り値:
Calendar の現在時刻が when の Calendar の時刻より前である場合は true、そうでない場合は false

after

public boolean after(Object when)
時間フィールドレコードを比較します。UTC への変換の結果を比較するのと同じことです。
パラメータ:
when - Calendar と比較する Calendar
戻り値:
Calendar の現在時刻が when の Calendar の時刻より後である場合は true、そうでない場合は false

add

public abstract void add(int field,
                         int amount)
Date のオペレーション機能です。Calendar の規則に従って、指定された (符合付きの) 時間を指定された時間フィールドに加えます。たとえば、Calendar の現在時刻から 5 日を引くには、add (Calendar.DATE, -5) を呼び出します。

add(Calendar.DATE, -5)

パラメータ:
field - 時間フィールド
amount - フィールドに追加される日付または時刻の量

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 を使用する

roll

public void roll(int field,
                 int amount)
時間フィールドのローリング機能です。指定された時間フィールドの指定された単位数を上または下に動かします。負の値を指定した場合は下にロールします。[注: Calendar でのこのデフォルトの実装は、boolean 値をとり、単位ごとにロールするバージョンの roll() を繰り返し呼び出すだけです。これによって常に正しい結果が得られるとは限りません。たとえば、DAY_OF_MONTH フィールドが 31 の場合、2 月をロールすると、28 に設定されたままになります。この関数の GregorianCalendar バージョンはこの問題を処理します。他のサブクラスは、正しい結果を得る、この関数のオーバーライドを提供することになっています。]

setTimeZone

public void setTimeZone(TimeZone value)
指定されたタイムゾーン値を使用してタイムゾーンを設定します。
パラメータ:
value - 指定するタイムゾーン

getTimeZone

public TimeZone getTimeZone()
タイムゾーンを取得します。
戻り値:
カレンダに対応するタイムゾーンオブジェクト

setLenient

public void setLenient(boolean lenient)
日付/時刻の解釈を厳密に行うかどうかを設定します。厳密でない解釈では、「1996 年 2 月 942 日」のような日付は、1996 年 2 月 1 日から第 941 日目と同じことと見なされます。厳密な解釈では、このような日付の場合、例外がスローされます。
関連項目:
DateFormat.setLenient(boolean)

isLenient

public boolean isLenient()
日付/時刻の解釈が厳密でないかどうかを指定します。

setFirstDayOfWeek

public void setFirstDayOfWeek(int value)
週の最初の日が何であるかを設定します。たとえば、米国では日曜日、フランスでは月曜日です。
パラメータ:
value - 指定する週の最初の日

getFirstDayOfWeek

public int getFirstDayOfWeek()
週の最初の日が何であるかを取得します。たとえば、米国では日曜日、フランスでは月曜日です。
戻り値:
週の最初の日

setMinimalDaysInFirstWeek

public void setMinimalDaysInFirstWeek(int value)
年の最初の週に必要な最小日数を設定します。たとえば、最初の週が、年の第 1 週目の第一日を含むものとして定義されている場合は、値 1 でこのメソッドを呼び出します。完全な一週間分でなければならない場合は、値 7 を使用します。
パラメータ:
value - 年の最初の週に必要な最小日数

getMinimalDaysInFirstWeek

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

getMinimum

public abstract int getMinimum(int field)
指定された時間フィールドの最小値を取得します。たとえば、グレゴリオ暦の DAY_OF_MONTH は 1 です。
パラメータ:
field - 指定する時間フィールド
戻り値:
指定された時間フィールドの最小値

getMaximum

public abstract int getMaximum(int field)
指定された時間フィールドの最大値を取得します。たとえば、グレゴリオ暦の DAY_OF_MONTH は 31 です。
パラメータ:
field - 指定する時間フィールド
戻り値:
指定された時間フィールドの最大値

getGreatestMinimum

public abstract int getGreatestMinimum(int field)
指定されたフィールドの最小値が変化する場合、その最大値を取得します。変化しない場合は、getMinimum() と同じです。グレゴリオ暦の場合も同様です。
パラメータ:
field - 指定する時間フィールド
戻り値:
指定された時間フィールドのもっとも大きな最小値

getLeastMaximum

public abstract int getLeastMaximum(int field)
指定されたフィールドの最大値が変化する場合、その最小値を取得します。変化しない場合は、getMaximum() と同じです。グレゴリオ暦の DAY_OF_MONTH は 28 です。
パラメータ:
field - 指定する時間フィールド
戻り値:
指定された時間フィールドのもっとも小さな最大値

getActualMinimum

public int getActualMinimum(int field)
現在の日付に対する、このフィールドが持ち得る最小値を返します。グレゴリオ暦の場合は、getMinimum() および getGreatestMinimum() と同じです。

Calendar でのこのバージョンの関数は、反復アルゴリズムを使用してフィールドの実際の最小値を判定します。これを実現するには、通常、より効率的な方法があります。多くの場合は、getMinimum() を返すだけです。GregorianCalendar は、より効率的な実装を使用してこの関数をオーバーライドします。

パラメータ:
field - 最小値を判定するフィールド
戻り値:
Calendar の現在の日付における、指定されたフィールドの最小値

getActualMaximum

public int getActualMaximum(int field)
現在の日付に対する、このフィールドが持ち得る最大値を返します。たとえば、日付が「Feb 3, 1997」の場合、DAY_OF_MONTH フィールドの実際の最大値は 28 になります。「Feb 3, 1996」の場合は 29 になります。ヘブライ暦でも同様で、MONTH の最大値が 12 になる年と 13 になる年があります。

Calendar でのこのバージョンの関数は、反復アルゴリズムを使用してフィールドの実際の最大値を判定します。これを実現するには、通常、より効率的な方法があります。多くの場合は、getMaximum() を返すだけです。GregorianCalendar は、より効率的な実装を使用してこの関数をオーバーライドします。

パラメータ:
field - 最大値を判定するフィールド
戻り値:
Calendar の現在の日付における、指定されたフィールドの最大値

clone

public Object clone()
Cloneable をオーバーライドします。
オーバーライド:
クラス Object 内の clone

toString

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

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.