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

小咪咪 2021-12-03 13:29 854阅读 0赞

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

引入依赖:

  1. <dependency>
  2. <groupId>joda-time</groupId>
  3. <artifactId>joda-time</artifactId>
  4. <version>2.9.9</version>
  5. </dependency>

测试代码:

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

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

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

发表评论

表情:
评论列表 (有 0 条评论,854人围观)

还没有评论,来说两句吧...

相关阅读