普通的写逻辑去判断两个时间相差月份需要写很多逻辑判断,比如年份比较,那么有什么办法可以快速计算呢?
引入依赖:
<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); } }控制台输出信息:
说在最后的话:编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~