■Java.util.Date 日時を表現するクラス
1970年1月1日 00:00:00 GMT(エポック)からのミリ秒数を表すlong値
⇒日付と時間フィールドの間の変換には、Calendarクラス
⇒日付文字列のフォーマットと構文解析には、DateFormatクラス
・現在時刻を取得
Date current = new Date();
curent.toString(); →Tue Mar 20 13:57:12 JST 2007
Date after = new Date(System.currentTimeMillis()); //long型の引数
■Java.util.Calendar
・現在時刻を取得(DateFormatクラスと一緒に使用する)
Calendar current = Calendar.getInstance();
current.toString(); →java.util.GregorianCalendar[time=117436682144…
■型変換
・DateからCalendarに変換
Calendar current = Calendar.getInstance();
current.setTime(new Date());
・CalendarからDateに変換
Date current = Calendar.getInstance().getTime();
・Date→「エポックからのミリ秒」変換
long current = new Date().getTime(); →1174368381739
・「エポックからのミリ秒」→Calendar変換
Calendar current = Calendar.getInstance();
current.setTimeInMillis(System.currentTimeMillis()); //long型の引数
・Calendar→「エポックからのミリ秒」変換
long current = Calendar.getInstance().getTimeInMillis();
■java.util.SimpleDateFormat 日時型を文字列に変換
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm;ss");
sdf.format(new Date());
sdf.format(Calendar.getInstance().getTime());
■java.sql.Date(java.util.Dateとの違い)
//
GregorianCalendar gc = new GregorianCalendar(2005,0,1);
Date date = gc.getTime();
DateFormat df = DateFormat.getInstance();
String strDate1 = df.format(date);
System.out.println(strDate1); //→05/01/01 0:00
Date date2 = new Date();
gc.setTime(date2);
gc.add(Calendar.YEAR, 3);
System.out.println(gc.get(Calendar.YEAR) + "/" + (gc.get(Calendar.MONTH) + 1)
+ "/" + gc.get(Calendar.DATE)); //→2011/11/4
//java.sql.Dateはパラメータにlong値を必要とする
java.sql.Date date3 = new java.sql.Date(gc.getTimeInMillis());
System.out.println(date3); //→2011-11-04
GregorianCalendar gc2 = new GregorianCalendar();
gc2.setTimeInMillis(date3.getTime());
gc2.add(Calendar.YEAR, -2);
System.out.println(gc2.get(Calendar.YEAR) + "/" + (gc2.get(Calendar.MONTH) + 1)
+ "/" + gc2.get(Calendar.DATE)); //→2009/11/4
04 | 2025/05 | 06 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |