我正在使用下面的代码来计算两个日期之间的年数、月数和天数Joda-Time
public void getDateDiff(View view) {
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy").withLocale(Locale.US);
DateTime startDate = null;
DateTime endDate = null;
// expected output 23...2....29
try {
startDate = formatter.parseDateTime("01/09/1995");
endDate = formatter.parseDateTime("30/11/2018");
Period period = new Period(startDate, endDate);
Log.e("No Of Years : ", period.getYears() + " Years, ");
Log.e("No Of Months : ", period.getMonths() + " Months, ");
Log.e("No Of Days : ", period.getDays() + " Days, ");
tvResult.setText(String.format("No Of Years : %d Years, \nNo Of Months : %d Months, \nNo Of Days : %d Days, ", period.getYears(), period.getMonths(), period.getDays()));
} catch (Exception e) {
e.printStackTrace();
}
}
上述代码的预期输出是(使用此站点检查并使用 google play store 中的一个应用程序)
23 years, 2 months, 29 days
但我使用相同的日期得到低于结果
/goku.com.demo E/No Of Years :: 23 Years,
/goku.com.demo E/No Of Months :: 2 Months,
/goku.com.demo E/No Of Days :: 1 Days,
谁能帮我找到上面代码中缺少的问题
我正在使用以下
joda-time
依赖项。
implementation 'joda-time:joda-time:2.9.9'
PS已经检查了下面的链接
如果需要更多信息,请告诉我。提前致谢。您的努力将不胜感激。