障害はアプローチにあり、
public int dateCompare(String today, String date2){
return today.compareTo(date2);
}
これを dateComparison と考えていますが、メソッドの引数 String、String を見てください。
したがって、実際には2つの文字列を比較しています。
まず、これらの文字列を日付に変換する必要があります...
お気に入り、
public Date parseDate(String dateStr) {
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
return df.parse (dateStr);
}
public int dateCompare(String today, String date2){
return (parseDate(today)).compareTo(parseDate(date2));
}
編集 :
複数のフォーマット用に変更:
public Date parseDate(String dateStr, String parsingFormat) throws SomeParsingException {
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
return df.parse (dateStr);
}
public Date parseDate (String dateStr) throws SomeException {
Date d1 = null;
try {
d1 = parseDate(dateStr, "MM/dd/yyyy");
} catch (SomeParsingException ex) {
try {
d1 = parseDate(dateStr, "MM-dd-yyyy");
} catch (SomeParsingException ex) {
try {
d1 = parseDate(dateStr, "MM.dd.yyyy");
} catch(SomeParsingException ex) {
throw SomeException ("Unparseable date");
}
}
}
return d1;
}