このコードを使用して、入力過去日付と現在日付の間の月数を計算しています。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 はそれを行うことができますか? もし、そうなら ?どのように ?そうでない場合は?他のアプローチはありますか?