初心者向けのJava講座です。一緒にJavaを勉強しませんか?
はじめてのJava入門初心者向けのJava講座 |
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を文字列にして返します。 |
サンプルプログラム(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になります。