我有一個大約的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