
このチュートリアルでは、java.util.Dateとjava.util.Calendarを使って作業する方法を説明します。
1. Javaの日付の例
Date
APIで動作する例はほとんどありません。
SimpleDateFormat sdf = new SimpleDateFormat("dd/M/yyyy");
String date = sdf.format(new Date());
System.out.println(date);//15/10/2013
-
例1.2 ** – 文字列を日付に変換します。
SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy hh:mm:ss");
String dateInString = "31-08-1982 10:20:56";
Date date = sdf.parse(dateInString);
System.out.println(date);//Tue Aug 31 10:20:56 SGT 1982
__P.S詳細な日付と時刻のパターンについては、http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html[SimpleDateFormat JavaDoc]を参照してください。
-
Example 1.3 ** – 現在の日付時刻を取得する
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date));//2013/10/15 16:16:39
-
例1.4 ** – カレンダーを日付に変換する
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
2. Javaカレンダーの例
Calendar
APIで動作する例はほとんどありません。
-
Example 2.1 ** – 現在の日付時刻を取得する
SimpleDateFormat sdf = new SimpleDateFormat("yyyy MMM dd HH:mm:ss");
Calendar calendar = new GregorianCalendar(2013,0,31);
System.out.println(sdf.format(calendar.getTime()));
出力
2013 Jan 31 00:00:00
-
例2.2 ** – シンプルなカレンダーの例
SimpleDateFormat sdf = new SimpleDateFormat("yyyy MMM dd HH:mm:ss");
Calendar calendar = new GregorianCalendar(2013,1,28,13,24,56);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);//Jan = 0, dec = 11
int dayOfMonth = calendar.get(Calendar.DAY__OF__MONTH);
int dayOfWeek = calendar.get(Calendar.DAY__OF__WEEK);
int weekOfYear = calendar.get(Calendar.WEEK__OF__YEAR);
int weekOfMonth= calendar.get(Calendar.WEEK__OF__MONTH);
int hour = calendar.get(Calendar.HOUR); //12 hour clock
int hourOfDay = calendar.get(Calendar.HOUR__OF__DAY);//24 hour clock
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
int millisecond= calendar.get(Calendar.MILLISECOND);
System.out.println(sdf.format(calendar.getTime()));
System.out.println("year \t\t: " + year);
System.out.println("month \t\t: " + month);
System.out.println("dayOfMonth \t: " + dayOfMonth);
System.out.println("dayOfWeek \t: " + dayOfWeek);
System.out.println("weekOfYear \t: " + weekOfYear);
System.out.println("weekOfMonth \t: " + weekOfMonth);
System.out.println("hour \t\t: " + hour);
System.out.println("hourOfDay \t: " + hourOfDay);
System.out.println("minute \t\t: " + minute);
System.out.println("second \t\t: " + second);
System.out.println("millisecond \t: " + millisecond);
出力
2013 Feb 28 13:24:56 year : 2013 month : 1 dayOfMonth : 28 dayOfWeek : 5 weekOfYear : 9 weekOfMonth : 5 hour : 1 hourOfDay : 13 minute : 24 second : 56 millisecond : 0
-
Example 2.3 ** – 日付を手動で設定します。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy MMM dd HH:mm:ss");
Calendar calendar = new GregorianCalendar(2013,1,28,13,24,56);
System.out.println("#1. " + sdf.format(calendar.getTime()));
//update a date
calendar.set(Calendar.YEAR, 2014);
calendar.set(Calendar.MONTH, 11);
calendar.set(Calendar.MINUTE, 33);
System.out.println("#2. " + sdf.format(calendar.getTime()));
出力
#1. 2013 Feb 28 13:24:56 #2. 2014 Dec 28 13:33:56
-
Example 2.4 ** – 日付を加算または減算します。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy MMM dd");
Calendar calendar = new GregorianCalendar(2013,10,28);
System.out.println("Date : " + sdf.format(calendar.getTime()));
//add one month
calendar.add(Calendar.MONTH, 1);
System.out.println("Date : " + sdf.format(calendar.getTime()));
//subtract 10 days
calendar.add(Calendar.DAY__OF__MONTH, -10);
System.out.println("Date : " + sdf.format(calendar.getTime()));
出力
Date : 2013 Nov 28 Date : 2013 Dec 28 Date : 2013 Dec 18
-
Example 2.5 ** – 日付をカレンダーに変換します。
SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy hh:mm:ss");
String dateInString = "22-01-2015 10:20:56";
Date date = sdf.parse(dateInString);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
参考文献
JavaDoc]。
http://docs.oracle.com/javase/6/docs/api/java/util/Date.html
[Date
JavaDoc]。リンク://java/how-to-convert-string-to-date-java/[Java – 文字列の変換
現在まで]。 link://java/how-to-compare-dates-in-java/[日付を比較する方法
Java]