你如何减去Java中的日期?

这个问题在这里已经有了答案:

  • 计算Java 7中日期差异的答案

  • 这确实是标准Java API中最大的史诗故障之一。 请耐心等待,然后您将获得由JSR 310 / ThreeTen指定的新日期和时间API的解决方案,这很可能会包含在即将推出的Java 8中。

    在此之前,你可以逃脱JodaTime。

    DateTime dt1 = new DateTime(2000, 1, 1, 0, 0, 0, 0);
    DateTime dt2 = new DateTime(2010, 1, 1, 0, 0, 0, 0);
    int days = Days.daysBetween(dt1, dt2).getDays();
    

    它的创建者Stephen Colebourne正是JSR 310背后的人物,所以它看起来非常相似。


    您可以使用以下方法:

    SimpleDateFormat formater=new SimpleDateFormat("yyyy-MM-dd");
    
    long d1=formater.parse("2001-1-1").getTime();
    long d2=formater.parse("2001-1-2").getTime();
    
    System.out.println(Math.abs((d1-d2)/(1000*60*60*24)));
    

    如果处理日期,最好是查看joda时间库以获得更加健全的Date操作模型。

    http://joda-time.sourceforge.net/

    链接地址: http://www.djcxy.com/p/18593.html

    上一篇: How do you subtract Dates in Java?

    下一篇: Calculating difference in dates in Java