两个不同的代码片段(有微小的变化)在 joda time api 的计算中显示了一些错误:
第一个:给出正确的结果
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
第二个:给出不正确的结果
代码段更改: 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
这是计算错误还是我缺少一些配置?