错误在于方法,
public int dateCompare(String today, String date2){
return today.compareTo(date2);
}
您将其视为 dateComparison,但请查看方法参数 String、String。
所以你实际上是在比较两个字符串。
您应该首先将这些字符串转换为日期...
喜欢,
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;
}