在java8中新提供了LocalDateTime的日期包装类,并且提供了相应的时间辅助类,帮助开发者进行时间计算
1.计算日期间隔的两种需求
在实际的业务场景中,用到计算两个时间间隔的主要有以下两种方式
-
计算两个日期差了多久(天、小时、分)
对于该形式,java8提供了ChronoUnit辅助类,并可以设置时间单位来获取时间差,使用方法如下LocalDateTime now = LocalDateTime.now(); System.out.println(ChronoUnit.DAYS.between(now.minusDays(60), now));
-
计算两个日期的差并显示 《X月X日》 的形式
对于该种形式,java8提供了Period辅助类,但是无法精确到秒是个遗憾,使用方法如下Period period = Period.between(now.minusDays(60).toLocalDate(), now.toLocalDate()); System.out.println(period.getMonths() + "月" + period.getDays() + "日");