あるフォーマットで表記された日付からjava.util.Dateクラスのオブジェクトを生成するには、java.text.DateFormatの実装であるjava.text.SimpleDateFormatを利用すればいい。
日付まわりでは、フォーマット形式の指定としては、MMが月を意味し、mmは分を意味するという点などに注意が必要だ。Calendarなどで1月を数値で指定するときは01ではなくて00を使うというような点にも気をつけよう。
簡単なサンプルプログラムを用意してみたので、興味のある方はどうぞ。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Starter {
public static void main(String[] args) {
SimpleDateFormat formatter = null;
String sdate = null;
Date date = null;
System.out.println(“DateFormat.parse():”);
formatter = new SimpleDateFormat(“yyyy-MM-dd”);
sdate = “2004-02-13″;
try {
date = formatter.parse(sdate);
System.out.println(sdate + ” : ” + date);
} catch (ParseException e) {
System.out.println(“解析に失敗: ” + formatter);
}
formatter = new SimpleDateFormat(“yyyy/MM/dd”);
sdate = “2004/02/13″;
try {
date = formatter.parse(sdate);
System.out.println(sdate + ” : ” + date);
} catch (ParseException e) {
System.out.println(“解析に失敗: ” + formatter);
}
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2004);
// calendar.set(Calendar.YEAR, 01); と同じだが、定数を使う方がいい
calendar.set(Calendar.MONTH, Calendar.FEBRUARY);
calendar.set(Calendar.DATE, 01);
date = calendar.getTime();
System.out.println(“Calendarから作ったDate:”);
System.out.println(” “+date);
}
}