我用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
答案 0 :(得分:3)
你应该使用
HH
小时(0-23)hh
上午/下午(1-12)小时示例:
final SimpleDateFormat sdft = new SimpleDateFormat("ddMMyyyyHHmmss");
所以你可以看到你一方有12,另一方有00。