Period 计算日期之间的时间差遇到的问题

计算两个时间之间的时间差:

分别使用Period.between和ChronoUnit方法测试

 

 测试结果如下:

 

 结果发现Period.between的方法是使用年月日分别进行比对,得出的结果不是我们想要的。

 解决方案:采用ChronoUnit的比较方法

完整代码如下:

 1 public static void main(String[] args) {
 2 
 3         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 4 
 5         LocalDate time = LocalDate.now();
 6         LocalDate date = LocalDate.parse("2020-03-01 12:00:00", dateTimeFormatter);
 7 
 8         Period period = Period.between(date,time);
 9         System.out.println("period.getDays()计算出的天数时间差:"+period.getDays());
10         System.out.println("period.getDays()计算出的月数时间差:"+period.getMonths());
11         System.out.println("period.getDays()计算出的年数时间差:"+period.getYears());
12         System.out.println("ChronoUnit.DAYS.between计算出的天数时间差:"+ChronoUnit.DAYS.between(date,time));
13         System.out.println("ChronoUnit.DAYS.between计算出的月数时间差:"+ChronoUnit.MONTHS.between(date,time));
14         System.out.println("ChronoUnit.DAYS.between计算出的年数时间差:"+ChronoUnit.YEARS.between(date,time)); 
15     }

 

posted @ 2021-03-27 17:29  永远的萌新  阅读(842)  评论(0编辑  收藏  举报