2017-09-18 70 views
-3

我有兩個Java util包的日期。他們兩個都顯示相同的日期。當我比較兩者時,顯示爲錯誤。這裏是我的代碼和日誌僅比較日期在Java中不能正常工作

Date date1=new SimpleDateFormat("dd/MM/yy").parse(lastCall); 
logger.info(date1); -->Mon Sep 18 00:00:00 AST 2017 
Date todayDate = new Date(); -->Mon Sep 18 12:36:53 AST 2017 
System.out.println("Today date :"+todayDate); 

if(date1.after(todayDate)){ 
    System.out.println("Date1 is after Date2"); 
} 

if(date1.before(todayDate)){ 
    System.out.println("Date1 is before Date2"); 
} 

if(date1.equals(todayDate)){ 
    System.out.println("Date1 is equal Date2"); 
} 

它會進入前擋和打印

System.out.println("Date1 is before Date2"); 
+4

呃...我的意思是,00:00:00在12:36:53之前,對不對?或者我現在只是瘋了 –

+1

我認爲問題是錯誤的。它應該是「我怎樣才能比較兩個日期只有日期?不是日期時間。有幾種方法可以做到這一點,你可以設置小時分秒爲0他們兩個然後比較等 – Gunhan

+0

@Shinratensei,我只想檢查兩個日期,時間可以忽略 – Aliy

回答

1

日期部分相同,但時間部分是不同的。所以根據小時,分鐘和秒鐘的比較,你會得到這個結果。

+0

這是怎麼回事覆蓋?我只想只驗證日期 – Aliy

+0

@Aliy使用日曆並刪除時間信息(將其設置爲0) – XtremeBaumer

+0

使用SimpleDateFormat將Date對象轉換爲dd/MM/yyyy格式,將其保留爲String並將這些字符串與equals方法進行比較。 –