LocalDate获取间隔天数

LocalDate获取间隔天数

如果使用Period获取时间间隔,如果两个时间跨月了,那获取的数据是不准确的。

public static void main(String[] args) {
        LocalDate realStartDate = LocalDate.of(2021, 8, 26);
        LocalDate realEndDate = LocalDate.of(2021, 9, 27);
        Period duration = Period.between(realStartDate, realEndDate);
        int days = duration.getDays()+1;
        System.out.println(days);
    }

输出: 2

如果想要得到我们的结果,那就需要使用LocalDatetoEpochDay()方法,然后计算差值。

    public static void main(String[] args) {
        LocalDate realStartDate = LocalDate.of(2021, 8, 26);
        LocalDate realEndDate = LocalDate.of(2021, 9, 27);
        Period duration = Period.between(realStartDate, realEndDate);
        int days = duration.getDays()+1;
        System.out.println(days);
        int days2 = Math.toIntExact(realEndDate.toEpochDay() - realStartDate.toEpochDay());
        System.out.println(days2);
    }

输出: 2 32

ok。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容