我需要验证 2 个日期,一个由用户选择,另一个是我从日历中获得的那个……这是我迄今为止尝试的但没有成功:
Calendar c = Calendar.getInstance();
if(!DateIsOlder(txtVwAppointmentDate.getText(), c.getTime())) {
try {
//My code
}
public static boolean DateIsOlder(CharSequence date1, Date date2){
//SimpleDateFormat Date2 = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz -HH:mm yyyy", Locale.ENGLISH);
SimpleDateFormat dfDate = new SimpleDateFormat("dd/mm/yyyy", Locale.ENGLISH);
boolean isOlder = false;
try{
//Date newDate = (Date)Date2.parse(date2);
if(dfDate.parse(String.valueOf(date1)).before(dfDate.format(date2))){
isOlder = true;
}
else if (dfDate.parse(String.valueOf(date1)).equals(dfDate.format(date2))){
isOlder = false;
}
else {
isOlder = false;
}
}catch (Exception e){
e.printStackTrace();
}
return isOlder;
}
错误出现在 .before(dfDate.format(date2)) 上,它说: Error:(484, 51) error: method before in class Date cannot be applied to given types; 必需:找到的日期:字符串原因:实际参数字符串无法通过方法调用转换转换为日期
如果你能看到,如果我比较两个日期是否相等并且编译器在这一行没有显示任何错误:
else if (dfDate.parse(String.valueOf(date1)).equals(dfDate.format(date2)))
我也尝试将其更改为 Date 但没有成功......有什么想法可以帮助我解决这个问题吗?谢谢。