Java计算2个日期相差的天数

这篇文章展示了在Java8中使用LocalDate的until方法,以及在Java7中使用SimpleDateFormat和Date类解析日期后计算两个日期之间相差的自然天数的两种方法。Java8的方法更为简洁和直观。
摘要由CSDN通过智能技术生成
// java8计算2个日期相差的自然天数    
private static long cacleBetweenDaysJava8(String startDate, String endDate) {
        LocalDate start = LocalDate.parse(startDate);
        LocalDate end = LocalDate.parse(endDate);
        if (start.compareTo(end) >= 0) {
            return 0L;
        }

        // 相差的自然天数
        long betweenDays = start.until(end, DAYS);
        System.out.println("java8:" + startDate + "与 " + endDate + " 相隔 " + betweenDays + " 天");
        return betweenDays;
    }

// java7计算2个日期相差的自然天数    
private static long cacleBetweenDaysJava8(String startDate, String endDate) {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date d1 = sdf.parse(startDate);
        Date d2 = sdf.parse(endDate);
        long daysBetween = (d2.getTime() - d1.getTime() + 1000000) / (60 * 60 * 24 * 1000);
        System.out.println("java7:" + startDate + "与 " + endDate + " 相隔 " + daysBetween + " 天");
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值