Javaで2つの日付の月の差を求める方法は?
Javaで、2つの日付の間の差を計算するために、java.timeパッケージのPeriodクラスを使用することができます。以下は、2つの日付の月差を計算する方法を示すサンプルコードです。
import java.time.LocalDate;
import java.time.Period;
public class DateDifference {
public static void main(String[] args) {
LocalDate date1 = LocalDate.of(2021, 9, 1);
LocalDate date2 = LocalDate.of(2022, 4, 1);
Period period = Period.between(date1, date2);
int months = period.getMonths();
System.out.println("相差的月份: " + months);
}
}
上記の例では、LocalDateクラスを使用してdate1とdate2という2つの日付オブジェクトを作成しました。その後、Period.between()メソッドを使用して2つの日付の間の差を計算し、結果をperiodオブジェクトに保存しました。最後に、getMonths()メソッドを使用して差異の月数を取得し、それをプリントアウトしました。
PeriodクラスのgetMonths()メソッドは、2つの日付間の月の差を返すことに注意してください。絶対値ではありません。最初の日付が2番目の日付よりも後ろにある場合、結果は負の数になります。絶対値の月の差を取得する必要がある場合は、Math.abs()メソッドを使用できます。