22.Calendar
 Calendarは、DateオブジェクトとYEAR、MONTH、DAY、HOURなどの整数フィールドの間で変換を行うための抽象クラス。実際には具象クラスであるGregorianCalendarを使用する。

import java.util.Calendar

コンストラクタ
Date()
現在の日付と時刻で初期化されたDateインスタンスを作成。
Date(long msec)
グリニッジ標準時1970年1月1日0時からmsecミリ秒経過したDateインスタンスを作成。
メンバー変数
static int YEAR
getおよびsetのための、年を示すフィールド値。
static int MONTH
getおよびsetのための、月を示すフィールド値。
static int DATE
getおよびsetのための、日を示すフィールド値。
static int DAY_OF_MONTH
getおよびsetのための、日を示すフィールド値。
static int DAY_OF_WEEK
getおよびsetのための、曜日を示すフィールド値。
static int DAY_OF_YEAR
getおよびsetのための、1/1から数えて何日目かを示す。
static int WEEK_OF_MONTH
getおよびsetのためのフィールド値で、現在の月の何週目かを示す。
static int WEEK_OF_YEAR
getおよびsetのためのフィールド値で、現在の年の何週目かを示す。
static int DAY
getおよびsetのための、日を示すフィールド値。
static int HOUR
getおよびsetのための、何時かを示す。(最大は12)
static int HOUR_OF_DAY
getおよびsetのための、何時かを示す。(最大は24)
static int MINUTE
getおよびsetのための、分を示すフィールド値。
static int SECOND
getおよびsetのための、秒を示すフィールド値。
static int MILISECOND
getおよびsetのための、ミリ秒を示すフィールド値。(Windowsでは10ミリ秒単位)
static int AM
午前を表す定数
static int PM
午前を表す定数
static int AM_PM
午前を表す定数
static int SUNDAY
日曜日を示すDAY_OF_WEEKフィールドの値。
static int MONDAY
月曜日を示すDAY_OF_WEEKフィールドの値。
static int TUESDAY
火曜日を示すDAY_OF_WEEKフィールドの値。
static int WEDNESDAY
水曜日を示すDAY_OF_WEEKフィールドの値。
static int THURSDAY
木曜日を示すDAY_OF_WEEKフィールドの値。
static int FRIDAY
金曜日を示すDAY_OF_WEEKフィールドの値。
static int SATURDAY
土曜日を示すDAY_OF_WEEKフィールドの値。
static int JANUARY
1月を示すMONTHフィールドの値。
実際の値は0となっています。
static int FEBRUARY
2月を示すMONTHフィールドの値。
実際の値は1となっている。
static int MARCH
3月を示すMONTHフィールドの値。
実際の値は2となっている。
static int APRIL
4月を示すMONTHフィールドの値。
実際の値は3となっている。
static int MAY
5月を示すMONTHフィールドの値。
実際の値は4となっている。
static int JUNE
6月を示すMONTHフィールドの値。
実際の値は5となっている。
static int JULY
7月を示すMONTHフィールドの値。
実際の値は6となっている。
static int AUGUST
8月を示すMONTHフィールドの値。
実際の値は7となっている。
static int SEPTEMBER
9月を示すMONTHフィールドの値。
実際の値は8となっている。
static int OCTORBER
10月を示すMONTHフィールドの値。
実際の値は9となっている。
static int NOVEMBER
11月を示すMONTHフィールドの値。
実際の値は10となっている。
static int DECEMBER
12月を示すMONTHフィールドの値。
実際の値は11となっている。
static int UNDECIMBER
13月を示すMONTHフィールドの値。
実際の値は12となっている。
(太陽暦では使用しない、太陰暦で使用。)
static int DST_OFFSET
getおよびsetのためのフィールド値で、夏時間のオフセットをミリ秒単位で示す。
static int ERA
getおよびsetのためのフィールド値で、ユリウス暦のADまたはBCなどの年代を示す。

 
 

コンストラクタ
Calendar()
デフォルトのタイムゾーンおよびロケールを使用してCalendarインスタンスを作成。
メソッド
Calendar getInstance()
デフォルトのタイムゾーンおよびロケールを使用してCalendarインスタンスを作成。
Date getTime()
インスタンスの持つの時刻を返す。
int get(int field)
fieldで示されるフィールドの値を返します。
例えば、Calendarインスタンスcalが示す時間は24時間制で何時になるかは
cal.get(Calendar.HOUR_OF_DAY)
とする。
long getTimeInMillis()
現在のインスタンスを1970年1月1日0時0分0秒からのミリ秒で取得する。
void set(int field, int value)
filedで示されるフィールド値を設定します。
例えば、Calendarインスタンスcalが示す時間は24時間制で13時にする場合は
cal.set(Calendar.HOUR_OF_DAY, 13)
とする。
void set(int year, int month, int day)
year年month月day日に設定します。時間などその他のフィールドは保持される。
例えば、2004年8月31日に設定する場合は、
cal.set(2004,Calendar.AUGUST, 31) または
ca.set(2004, 8-1, 31)
とする。
void set(int year, int month, int day, int hour, int minute)
year年month月day日hour時minute分に設定する。秒などその他のフィールドは保持される。
例えば、2004年8月31日10時30分に設定する場合は、
cal.set(2004,Calendar.AUGUST, 31, 10, 30) または
ca.set(2004, 8-1, 31, 10, 30)
とする。
void set(int year, int month, int day, int hour, int minute, int second)
year年month月day日hour時minute分second秒に設定します。その他のフィールドは保持される。
例えば、2004年8月31日10時30分10秒に設定する場合は、
cal.set(2004,Calendar.AUGUST, 31, 10, 30, 10) または
ca.set(2004, 8-1, 31, 10, 30, 10)
とする。
void setTime(Date time)
時刻timeを設定。
void setTimeInMillis(long l)
現在のインスタンスを1970年1月1日0時0分0秒からのミリ秒で設定。
void clear()
すべてのフィールドがクリアされます。日時は1970年1月1日0時0分0秒になる。
void clear(int field)
fieldで示されるフィールドがクリアされる。
void add(int field, int amount)
fieldをamoutだけ加算します。
現在のCalndarインスタンスcalの30日前を求めるには
cal.add(Calendar.DATE, -30)
とする。
void roll(int field, boolean up)
upがtrueの場合はfieldで示されるフィールドを1だけ加算。
upがfalseの場合はfieldで示されるフィールドを1だけ減算。
ただし、上のフィールドは変更しません。
例えば、8月31日の場合、DATEフィールドをupさせた場合は、8月1日となる。
boolean equals(Object obj)
objがCalendarクラスもしくはそのサブクラスで、同じ値を持つ場合はtrueを、それ以外はfalseを返す。
boolean after(Object obj)
objがCalendarクラスもしくはそのサブクラスで、自分自身の方が後ならばtrueを返す。
boolean before(Object obj)
objがCalendarクラスもしくはそのサブクラスで、自分自身の方が前ならばtrueを返す。
int getFirstDayOfWeek()
週の最初が何曜日かを返す。
例えば日本やアメリカではSUNDAY(1)が、フランスではMONDAY(2)が返される。
int getMinimum(int field)
fieldで示されたフィールドの最小値を示す。
たとえば、グレゴリオ暦のDAY_OF_MONTHは1。
int getMaximum(int field)
fieldで示されたフィールドの最大値示します。
たとえば、グレゴリオ暦のDAY_OF_MONTHは31。
int getGreatestMinimum(int field)
fieldで示されたフィールドの最小値が変化する場合、その最大値を取得する。
たとえば、グレゴリオ暦のDAY_OF_MONTHは1。
int getLeastMaximum(int field)
fieldで示されたフィールドの最大値が変化する場合、その最小値を取得する。
たとえば、グレゴリオ暦のDAY_OF_MONTHは28。
String toString()
現在のインスタンスを文字列に変換します。
コンパイラなどによって異なるのでデバッグ以外には使用しない。

 
 

GregorianCalendar

import java.util.GregorianCalendar

GregorianCalendarは、Calendarクラスの具象クラス。日本を含め、世界のほとんどの国で採用されている太陽暦のカレンダー。ほとんどのメソッドは、Calendarクラスから受け継がれたものを利用。
GregorianCalendarのメンバー変数
int AD
キリスト紀元 (西暦) を示す ERA フィールドの値。
int BC
キリスト紀元 (BC) より前の期間を示す ERA フィールドの値。
GregorianCalendarのコンストラクタ
GregorianCalendar()
デフォルトのタイムゾーンおよびロケールを使用してGregorianCalendarインスタンスを作成。
GregorianCalendar(int year, int month, int date)
デフォルトのタイムゾーンおよびロケールを使用して、指定した年月日でGregorianCalendarインスタンスを作成。
GregorianCalendar(int year, int month, int date, int hour, int minute)
デフォルトのタイムゾーンおよびロケールを使用して、指定した日時でGregorianCalendarインスタンスを作成。
GregorianCalendar(int year, int month, int date, int hour, int minute, int second)
デフォルトのタイムゾーンおよびロケールを使用して、指定した日時でGregorianCalendarインスタンスを作成。
GregorianCalendarのメソッド
boolean isLeapYear(int year)
year年が閏年ならtrueを返す。