Java中减去两个日期

可能重复:
计算两个Java日期实例之间的差异

我知道这可能是重复的线程。 但我试图找出计算两个日期之间差异的方法。 从jquery日期字符串格式为'yyyy-mm-dd' 。 我把它作为一个字符串读取并且像这样转换为java日期

Date d1 = new SimpleDateFormat("yyyy-M-dd").parse((String) request.getParameter(date1));
Date d2 = new SimpleDateFormat("yyyy-M-dd").parse((String) request.getParameter(date2));

我想计算这两个日期之间的天数差异。

注意:我不能使用第三方API作为需要审查的那些API。


long diff = Math.abs(d1.getTime() - d2.getTime());
long diffDays = diff / (24 * 60 * 60 * 1000);

Date d1 = new SimpleDateFormat("yyyy-M-dd").parse((String) request.
            getParameter(date1));
Date d2 = new SimpleDateFormat("yyyy-M-dd").parse((String) request.
            getParameter(date2));

long diff = d2.getTime() - d1.getTime();

System.out.println("Difference between  " + d1 + " and "+ d2+" is "
        + (diff / (1000 * 60 * 60 * 24)) + " days.");

假设您被限制使用Date ,您可以执行以下操作:

Date diff = new Date(d2.getTime() - d1.getTime());

在这里,您计算自“时代”以来的毫秒差异,并在距离时代的偏移量处创建一个新的Date对象。 就像其他人所说的:重复问题中的答案可能是更好的选择(如果你没有被约束到Date )。

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

上一篇: Subtract two dates in Java

下一篇: How to calculate elapsed time from now with Joda