SimpleDateFormat クラスと java.util.Date の 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));
結果:
元の日付:Mon Jan 25 15:43:23 CET 2010 Formatted date: 2010.jan.25 03:43:23 868 originalDate compareTo parsedDate: 1
常に「1」になるのはなぜですか? 元の日付が解析された日付よりも大きいのはなぜですか?