2011-07-11 49 views
2

我有一個長的數據成員,表示一個日期。
我將它轉換爲一個java - 如何比較相同的日期

Date d = new Date(long); 

我想現在如果一個諾特爾日期一直是同一天。 我該怎麼做? 謝謝。
(安德魯)

編輯:

在這裏找到這個解決方案

SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMdd"); 
return fmt.format(date1).equals(fmt.format(date2)); 

Comparing two java.util.Dates to see if they are in the same day 看起來不錯

+0

這個答案會幫助你,http://stackoverflow.com/a/2517954/2939690 – vuhung3990

回答

3

那麼你可以將它們都轉換爲calendar對象並獲取日曆對象日,並比較這種方式。

Calendar cal = Calendar.getInstance(); 
cal.setTimeInMillis(LONG VALUE HERE); 
int day = cal.get(Calendar.DAY_OF_MONTH); 

對其他日期做同樣的事情,並比較這些值。

編輯:順便說一句,你不是長期的日期,你只是使用一個長期創建一個日期對象。

+0

我覺得Calendar.DAY_OF_MONTH,而不是我們應該檢查Calendar.DAY_OF_YEAR,因爲6月15日和7月15日將是相同的所以每年的一天是正確的一個 檢查-https://stackoverflow.com/a/2517824/4741746 –

1

要看到,如果日期是平等的:

date_one.equals(date_two); 

要查看是否就在一天都是平等的,我平時砍的時候關閉日期(調用setHours(0),setMinutes(0)等)然後使用.equals()方法。

1

使用java.util.Calendar進行所有比較操作。

2

使用Apache公地日曆對象路線更好。

DateUtils.isSameDay(date1, date2);