1
我使用Calendar
類計算了一個日期,然後將其與使用Hibernate執行的查詢得到的兩個日期進行比較。當我比較endDate
與thisIter
時,我得到「不相等」的日期。返回奇數結果的日期之間的比較
我試着打印一些調試語句。如果我打印爲Date
,我會發現第1行中的打印文本略有不同。但是,如果使用SDF格式化並打印,則它們在第2行的打印文本中看起來完全相同。
有什麼區別在這些日期以及爲什麼它沒有出現在SDF格式的價值中。
這是我使用打印的調試代碼:
final SimpleDateFormat sdft = new SimpleDateFormat("ddMMyyyyhhmmss");
System.out.println(thisIter + ": " + new Date(r.getFromDate().getTime()) + "(" + new Date(thisIter.getTime()) + ")" + new Date(r.getToDate().getTime()));
System.out.println(thisIter + ": " + sdft.format(r.getFromDate().getTime()) + "(" + sdft.format(thisIter.getTime()) + ")" + sdft.format(r.getToDate().getTime()));
這是輸出:
Wed Oct 07 12:00:00 IST 2015: Sat Oct 03 00:00:00 IST 2015(Wed Oct 07 12:00:00 IST 2015)Wed Oct 07 00:00:00 IST 2015
Wed Oct 07 12:00:00 IST 2015: 03102015120000(07102015120000)07102015120000
我寫了一個應該刪除時間組件的截斷函數。只是,它將日期中午12點而不是午夜!那是因爲我使用了c.set(Calendar.HOUR,0);而不是c.set(Calendar.HOUR_OF_DAY,0); – Teddy