Java计算两个日期之间月份的差值

本功能只实现计算两个日期之间,月份差了几个月,与日无关,与30天无关。比如:20231030与20231215,月份相差2个月。

   public static int monthDiff(String dateString1, String dateString2){

        // 将字符串转换为 LocalDate 对象
        LocalDate date1 = LocalDate.parse(dateString1);
        LocalDate date2 = LocalDate.parse(dateString2);

        // 获软时间1的年份和月份
        int year1 = date1.getYear();
        int month1 = date1.getMonthValue();
        // 获取时间2的年份和月份
        int year2 = date2.getYear();
        int month2 = date2.getMonthValue();

        // 计算时间1的总月数
        int totalMonths1 = year1 * 12 + month1;
        // 计算时间2的总月数
        int totalMonths2 = year2 * 12 + month2;
        // 计算总月数差
        int monthsDiff = totalMonths2 - totalMonths1;

        return monthsDiff;
    }