LocalDate的使用
计算两个日期之间间隔多少天
使用Period来获取间隔
LocalDate localDate1 = LocalDate.of(2017, 10, 24);
LocalDate localDate2 = LocalDate.of(2017, 10, 27);
Period next = Period.between(localDate1, localDate2);
System.out.println("相隔多少天:" + next.getDays());
运行结果:
看起来是正确的,但是如果两个日期之间相差超过一个月,就不是我想要的结果了,看下面。
LocalDate localDate1 = LocalDate.of(2017, 9, 1);
LocalDate localDate2 = LocalDate.of(2017, 10, 2);
Period next = Period.between(localDate1, localDate2);
System.out.println("相隔多少天:" + next.getDays());
这个结果有点尴尬。。。如果没调用getMonths()方法,就只显示1天的/(ㄒoㄒ)/~~
这样就导致我的程序查询的数据不正确。。。。 然后找了一番,发现有一个方法toEpochDay(),跟我想要的沾了一点边,哈哈,试试吧。
这样获取时间间隔就完美了
LocalDate localDate1 = LocalDate.of(2017, 9, 1);
LocalDate localDate2 = LocalDate.of(2017, 10, 2);
Period next = Period.between(localDate1, localDate2);
System.out.println((int) (localDate2.toEpochDay() - localDate1.toEpochDay()));
看下结果: