我有两个日期:
Date dt1 = new Date("04/11/2013 11:00:00");//date
Date dt2 = new Date("04/12/2013 11:00:00");
然后我使用此代码处理,以了解dt1
和dt2
之间的周数
double tanggal = (dt2.getTime() - dt1.getTime()) / (24 * 60 * 60 * 1000);
double week= (double) Math.ceil(tanggal/7);
我尝试运行此代码和the result week is 1.0
,但当dt2
为04/11/2013 11:00:01
时,the result week is 0.0
。
如果the result week is 1.0
为dt2
,如何更改结果04/11/2013 11:00:01
?我希望,当dt2
到第七天或04/18/2013 11:00:01
结果变为2.0
时。怎么做?
答案 0 :(得分:2)
如果我理解正确,您希望将日期差异四舍五入到最接近的一周。如果日期 - 时间差小于一天,你得到0的原因是你太早了。您需要做的就是将时间戳转换为double
,然后再除以当天的毫秒数。这样你就不会失去一天的时差。将您的代码更改为
double tanggal = ((double)(dt2.getTime() - dt1.getTime())) / (24 * 60 * 60 * 1000);
double week= (double) Math.ceil(tanggal/7);
这样,您的结果将为1.0
。