文字列からDate型の変換、比較

そんなに難しくはないのですが、いざというときなかなか思い出せないので備忘録。

java.text.SimpleDateFormatを使う。たとえば文字列で日付が"2004/4/3"でこれを他の日付と比べたりするためにDate型に変換する。要はSimpleDateFormatのparseメソッドを使う。

import java.text.SimpleDateFormat;

String date1 = "2004/4/3";
//日付の形式をセット
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
//todayをDate型に変換
Date  date2 = sdf.parse(date1);

これだけ。たとえば現在の日付と変数date2を比較するならDate.compareTo()を使う

Date today = new Date();    //今日の日付
int hikaku = today.compareTo(date2);    //todayを基準にdate2と比較

hikaku=0なら同じ日、hikaku= -1 ならdate2は未来の日付 hikaku = 1  ならdate2 は過去である