2009-08-26 39 views
7

如何比較XMLGregorianCalendar的2個實例以查找哪個更大? 一個日期變量有一個值XMLGregorianCalendar日期比較

date1 = 2009-02-23T05:54:17+05:30 

和其他

date2 = 2009-02-23T05:54:17.000 

回答

12

你可以將它們轉換既GregorianCalendar和比較這些(CalendarComparable)。日曆的語義的compareTo()方法被明確地定義的,並且應該工作獨立於時區的:

比較由 兩個日曆對象所表示的時間值(毫秒從曆元 偏移)。

那麼試試這個:

XMLGregorianCalendar date1 = ... 
XMLGregorianCalendar date2 = ... 
int result = date1.toGregorianCalendar().compareTo(date2.toGregorianCalendar()); 

如果result爲正,則date1是 「後」 比date2

compare()方法上XMLGregorianCalendar本身做了比較奇特,而且不看對我非常有用。

+2

爲什麼不使用:date1.compare(date2)== DatatypeConstants.LESSER(如eg)? – 2014-02-21 09:27:32

+0

http://stackoverflow.com/questions/14978328/how-to-compare-xmlgregoriancalendar-with-only-the-date-portion-day-month-year 進入深度的XMLGregorianCalendar如何執行比較 – user77115 2014-03-17 12:11:13

+0

使用日期1。比較(date2)沒有給我邏輯結果,上面的答案是正確的。 – 2015-11-30 12:17:32