Java计算两个时间的月份差值

普通的写逻辑去判断两个时间相差月份需要写很多逻辑判断,比如年份比较,那么有什么办法可以快速计算呢?

引入依赖:

<dependency>
	<groupId>joda-time</groupId>
	<artifactId>joda-time</artifactId>
	<version>2.9.9</version>
</dependency>

测试代码:

public class MyTest {
    public static void main(String[] args) {
        //当前时间
        String formatDate =DateFormat.getDateInstance().format(new Date());
        System.out.println("当前系统时间="+formatDate);
        DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd");
        DateTime start = formatter.parseDateTime("2019-11-11");
        DateTime end = formatter.parseDateTime(formatDate);
        System.out.println("开始时间="+start);
        System.out.println("结束时间="+end);
        //end-start 结果可为负数、正数、0
        int months = Months.monthsBetween(start, end).getMonths();
        //取绝对值
        System.out.println("结束时间-开始时间="+Math.abs(months)+"(月)");
        System.out.println(months);

    }
}

控制台输出信息:
在这里插入图片描述

说在最后的话:编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~

发布了142 篇原创文章 · 获赞 499 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/zeal9s/article/details/96433662