我需要驗證2日期,一個是由用戶挑選的,另一個是我從日曆中獲取的日期...這是我迄今爲止嘗試沒有成功的:在android studio上驗證兩個日期
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)),它表示: 錯誤:(484,51)錯誤:類Date中的方法不能應用於給定的類型; 要求:日期 發現:字符串 原因:實際參數字符串無法通過方法調用轉換
,如果你可以看到,如果我比較這兩個日期,如果他們是平等的,編譯器不顯示轉換爲日期,在其他在這條線的任何錯誤:
else if (dfDate.parse(String.valueOf(date1)).equals(dfDate.format(date2)))
我也嘗試將其更改爲日期,但沒有successs ...任何想法,以幫助我解決這個問題?謝謝。
你爲什麼要做'dfDate.format(date2)'? – njzk2 2015-02-17 21:46:59
hi @ njzk2我這樣做是爲了改變日期的格式,因爲日曆帶給我這樣的整個日期「EEE MMM dd HH:mm:ss zzz -HH:mm yyyy」,所以我嘗試改變格式用戶選擇以這種格式「dd/mm/yyyy」 – jugger 2015-02-17 21:52:54
讀取'before'方法的原型。 – njzk2 2015-02-17 22:27:47