2つの異なるコードスニペット(マイナーな変更あり)は、jodatimeapiによる計算でエラーを示しています。
最初のもの:正しい結果を与える
DateTime date1 = new DateTime(2010,1,5, 0, 0, 0, 0);
DateTime date2 = new DateTime(2012,6,11, 0, 0, 0, 0);
Period age =new Period(date1,date2);
System.out.println(age.getYears()+" years "+age.getMonths()+" months "+age.getDays()+" days");
結果を出します: 2 years 5 months 6 days
2番目のもの:間違った結果を出します
スニペットの変更:DateTime date2 = new DateTime(2012,6、12、0、0、0、0 ) ;
DateTime date1 = new DateTime(2010,1,5, 0, 0, 0, 0);
DateTime date2 = new DateTime(2012,6,12, 0, 0, 0, 0);
Period age =new Period(date1,date2);
System.out.println(age.getYears()+" years "+age.getMonths()+" months "+age.getDays()+" days");
結果を出します: 2 years 5 months 0 days
これは計算のエラーですか、それともいくつかの構成がありませんか?