我有一个大约的SimpleDateFormat类和java.util.Date的compareTo方法问题:的Java的SimpleDateFormat和的compareTo
我构建一个Date对象,然后我的格式,我终于解析格式化字符串和比较到原始日期。
DateFormat df = new SimpleDateFormat("yyyy.MMMdd hh:mm:ss SSS");
Date originalDate = new Date();
String s = df.format(originalDate);
Date parsedDate = df.parse(s);
System.out.println("Original date: " + originalDate);
System.out.println("Formatted date: " + s);
System.out.println("originalDate compareTo parsedDate: " + originalDate.compareTo(parsedDate));
结果:
原始日期:星期一1月25日15点43分23秒CET 2010格式的日期:2010.jan.25 3点43分23秒868 originalDate的compareTo parsedDate: 1
为什么我总是“1”?为什么原始日期比解析日期更严格?
或者使用a,AM/PM说明符, – 2010-03-09 15:09:48
我刚刚尝试了代码,它与** HH **一起工作,所以这就是问题所在。当然如所暗示的,如果你需要12小时的格式,你可以使用AM/PM说明符而不是** HH ** – Jack 2010-03-09 15:11:16
是的,你说得对!非常感谢你! – Bob 2010-03-09 15:11:34