有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java日期差异(以天和时间为单位)

我有两个约会:

Date dt1 = new Date("04/11/2013 11:00:00");//date
Date dt2 = new Date("04/12/2013 11:00:00");

然后我用这段代码进行处理,以了解dt1dt2之间的间隔是多少周

double tanggal = (dt2.getTime() - dt1.getTime()) / (24 * 60 * 60 * 1000);
double week= (double) Math.ceil(tanggal/7);

我试图运行这段代码和the result week is 1.0,但是当dt204/11/2013 11:00:01the result week is 0.0

如果dt204/11/2013 11:00:01,如何更改结果使the result week is 1.0?我想,当dt2到第七天或04/18/2013 11:00:01时,结果变为2.0。怎么做


共 (1) 个答案

  1. # 1 楼答案

    如果我理解正确,你想把日期差四舍五入到最近的一周。如果日期时差小于一天,你会得到0的原因是你太早了。你需要做的就是在除以一天中的毫秒数之前,将时间戳转换为double。这样你就不会失去不到一天的时差。将代码更改为

    double tanggal = ((double)(dt2.getTime() - dt1.getTime())) / (24 * 60 * 60 * 1000);
    double week= (double) Math.ceil(tanggal/7);
    

    这样,您的结果将是1.0