美文网首页
Java中计算两个日期间的天数

Java中计算两个日期间的天数

作者: 断臂残猿 | 来源:发表于2018-11-21 14:40 被阅读0次

    jdk 8 以前

    日期api是java.util.Date,要计算两个 Date 间的天数有如下几种方法:

    1. 通过两个日期间的毫秒数去除以每天的毫秒数,根据需要自行决定是否需要 + 1
            Date d1 = new Date(), d2 = new Date();
            int days = (int) ((d1.getTime() - d2.getTime()) / (24*3600*1000));
    
    1. 使用 Hutool工具包
            Date d1 = new Date(), d2 = new Date();
            int day2s = (int) DateUtil.betweenDay(d1, d2, false);
    
    1. 使用jodaTime工具包
    Interval interval = new Interval(oldTime, new Instant());
    


    jdk 8 以来

    日期api变成了 java.time.LocalDate。除了你想把LocalDate转成Date然后像上面一样求解以外(当然不推荐了!),可以使用如下方法:

            LocalDate to = LocalDate.now();
            LocalDate from = to.withDayOfYear(1);
            int days = (int) ChronoUnit.DAYS.between(from, to);
    

    相关文章

      网友评论

          本文标题:Java中计算两个日期间的天数

          本文链接:https://www.haomeiwen.com/subject/lbccqqtx.html