我正在使用此代码来计算输入的过去日期和当前日期之间的月份数。它使用JodaTime
LocalDate date1 = new LocalDate(installmentStartDate2);
LocalDate date2 = new LocalDate(new java.util.Date());
PeriodType monthDay = PeriodType.yearMonthDayTime();
Period difference = new Period(date1, date2, monthDay);
int months = difference.getMonths();
return months + 1;
现在,当我输入2013年1月1日时,我会得到10作为答案。但是问题是即使我输入2012年1月1日也得到10。
因此,这意味着在计算时不考虑年份。
输入2012年1月1日时,我该怎么做才能得到正确的答案,例如22。
JodaTime可以做到吗?如果是 ?如何 ?
如果不 ?还有其他方法吗?
最佳答案
您的代码几乎是正确的。
你可以改变 :
PeriodType monthDay = PeriodType.yearMonthDayTime();
到 :
PeriodType monthDay = PeriodType.months();
它也将起作用。