2 つの日付間の日数、月数、年数を計算したいので、JodaTime を使用します。日付がorg.joda.time.DateTimeのタイプであれば、完全に結果を得ることができます。ただし、ユーザーが挿入した日付はDate型( format "yyy-mm-dd" ) であり、プロジェクト全体でこの型とこの形式を使用します。だから私はこのコードを書きます:
Date d1=new Date("2013-09-11");
Date d2=new Date("2014-12-12");
DateTime dt1 = new DateTime(d1);
DateTime dt2=new DateTime(d2);
CalculCalendar clcd=new CalculCalendar(dt1,dt2);
System.out.println(clcd.getNbjours(dt1, dt2)+" "+ clcd.getNbmois(dt1, dt2)+" "+ clcd.getNbyears(dt1, dt2));
実行すると、次のエラーが発生します。
Exception in thread "main" java.lang.IllegalArgumentException
at java.util.Date.parse(Unknown Source)
at java.util.Date.<init>(Unknown Source)
at CalendarDemo.main(CalendarDemo.java:50)
CalendarDemo.java:50 は以下を参照します: Date d2=new Date("2014-12-12");
この形式を変更せずにこの問題を解決するにはどうすればよいですか?