【发布时间】:2015-10-31 15:08:05
【问题描述】:
我用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
【问题讨论】: