Calendarクラス

Calendarクラスは年、月、日、曜日といった日付の情報から、時、分、秒、の時刻の情報まで取得することが出来ます。
Calendarクラスは抽象クラスで、このクラスもutilパッケージに属していますのでimport宣言が必要です。

Calendarクラスのコンストラクタ

Calenderクラスのコンストラクタはアクセス修飾子protectedが指定されているため明示的に呼び出すことが出来ません。
その代わりに、静的メソッドであるgetInstance()メソッドを利用して、現在のカレンダーを取得することが出来ます。

Calendarクラスのメンバー変数

戻り値
メンバー変数
説明
static int YEAR 年の番号を示します。
static int MONTH 月の番号を示します。取得した値に1を足すと現在の月となります。
static int time カレンダで現在設定されている時刻を示します。
static int DAY_OF_YEAR 現在の年の何日目かを示します。
static int DAY_OF_MONTH 現在の月の何日目かを示します。
static int DAY_OF_WEEK 現在の週の何日目かを示します。
static int DATE 日付のメンバー変数を示します。
static int HOUR 午前または午後の何時かを示します。
static int MINUTE 分を示します。
static int SECOND 秒を示します。
static int JANUARY 1月を示します。12月までを示すメンバー変数が同様に用意されています。
static int SUNDAY 日曜日を示します。他の曜日を示すメンバー変数が同様に用意されています。

Calendarクラスのメソッド

戻り値
メソッド
説明
boolean after(Object o) 引数 o よりも現在の時間が後なら真を返します。
boolean before(Object o) 引数 o よりも現在の時間が前なら真を返します。
boolean equals(Object o) 引数 obj と現在の時刻が同じなら真を返します。
int get(int i) 引数 i に指定した位置の要素の値を返します。
static Calender getInstance() マシンに設定された現在のタイムゾーンのCalenderオブジェクトを返します。
void set(int year,int month,int date,int hour,int minute,int second) 年、月、日付、時、分、秒のフィールドに値を設定します。
Date getTime() Calenderの現在時刻を取得します。
void set(int field,int value) 変数fieldに指定した位置の要素の値をvalueにします。
String toString() Calenderを文字列にして返します。

では、Calendarクラスを利用したサンプルプログラムを見ていきます。

サンプルプログラム(Sample120.java)

//import宣言
import java.util.*;

class Sample120{ public static void main(String args[]){ //日付を格納する変数を作成
int year,month,date,hour,minute,second,day_week; //曜日表示用に、曜日文字列を格納する配列の作成
String youbi[] = {"日曜日","月曜日","火曜日","水曜日","木曜日" ,"金曜日","土曜日"}; //Calendarオブジェクトの取得 Calendar now = Calendar.getInstance(); //日付の取得 System.out.println("現在の時刻は " + now.getTime() + " です"); year = now.get(now.YEAR); month = now.get(now.MONTH); date = now.get(now.DATE); hour = now.get(now.HOUR); minute = now.get(now.MINUTE); second = now.get(now.SECOND); day_week = now.get(now.DAY_OF_WEEK) - 1; //日付を出力 System.out.println(year + "年" + month + "月" + date + "日" + hour + " 時 " + minute +" 分 " + second + " 秒 " + youbi[day_week]);
} }

プログラムをコピーする場合すべて選択をクリックしてください。

Sponsored link

コンパイル・実行してみます。

まず、やはりutilパッケージに属しているのでimport宣言をしなければいけません。
次にCalendarクラスは静的メソッドをgetInstance()メソッドを利用してマシンに設定されている 現在の情報をCalendarオブジェクトに返します。

getTime()メソッドで現在OS に設定されている現在の時刻を取得します。
Calendarオブジェクトのメンバ-変数YEARにより現在の西暦を取得。
Calendarオブジェクトのメンバ-変数MONTHで月を取得。なお月は0から始まるので1を足します。
その他もgetメソッドを利用して現在値を取得。
Calendarオブジェクトのメンバ-変数DAY_OF_WEEKにより、週に対する曜日を取得。
日曜日は0になり、月曜日は1になります。

ページのトップへ戻る