java.text.DateFormat/java.text.SimpleDateFormat

目的
日付の文字列表現と、Dateオブジェクトの相互変換を行う。

関連クラス

今回のソース
// DateConvertTest.java

import java.text.*;
import java.util.Date;

public class DateConvertTest
{
	public static void main(String[] args) throws Exception
	{
		// 入力日付の文字列表現
		String strDate = "2002/07/13";

		// Dateに変換
		DateFormat dtFormat = DateFormat.getDateInstance();
		Date date = dtFormat.parse(strDate);

		System.out.println("date = " + date);

		// 再び文字列に変換
		SimpleDateFormat dtFormatter = new SimpleDateFormat("yyyy/MM/dd");
		strDate = dtFormatter.format(date);

		System.out.println("strDate = " + strDate);
	}
}
Source is here. (ZIP Format, 602Byte, Shift-JIS)

コンパイル&実行
javac CommaFormatter.java


説明
(概略)

画面からの入力/画面への出力は文字列で、
内部処理では、Dateオブジェクトである場合などは、
今回のような変換が必要になってきます。

日付だけでなく、時間を扱う必要性もある場合は、
  DateFormat dtFormat = DateFormat.getDateInstance();
の部分を、
  DateFormat dtFormat = DateFormat.getDateTimeInstance();
に変えればよいでしょう。
YYYY/MM/DD HH:MM:SS
の形式をパースできるようになります。

また、
  DateFormat dtFormat = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.SHORT);
のように、DateFormatを構築すれば、
YYYY/MM/DD HH:MM
の形式をパースできるようになります。

このパターンについては、実際にparseの逆である、formatをして、
文字列に変換してみれば、分かります。

--------------------------------------------------
ex)
DateFormat dtFormat = DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.SHORT);
dtFormat.format(new Date());

結果: 2002/07/13 12:00 (YYYY/MM/DD HH:MM形式)
--------------------------------------------------

なお、SimpleDateFormatクラスで使用できる文字は、
APIドキュメントに記載されています。