java - 日期 天数和时间的差异

标签 java android datetime

我有两个日期:

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);

我尝试运行此代码,结果周为 1.0,但是当 dt204/11/2013 11:00:01 code> , 结果周为 0.0

如果 dt204/11/2013 11:00:01,如何更改结果,使结果周为 1.0?我希望,当dt2直到第七天或04/18/2013 11:00:01时,结果更改为2.0。如何做到这一点?

最佳答案

如果我理解正确,您希望将日期差异四舍五入到最近的一周。如果日期时间差异小于一天,您得到 0 的原因是您舍入得太早。您需要做的就是将时间戳转换为 double,然后除以当天的毫秒数。这样您就不会失去一天以内的时差。将您的代码更改为

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

这样,您的结果将是 1.0

关于java - 日期 天数和时间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15942932/

相关文章:

android - Opengl-es手动调用onDrawFrame

java - Spring myBatis 强制将 ZonedDateTime 保存在系统默认时区,如何防止?

datetime - 如何在 Julia 中创建高分辨率时间序列图

java - JTable:存储与显示不同的数据

java - Eclipse 中运行时目标的标准 ServletContainer

java - 进行 Null 检查的频率和位置

java - 如何在play framework中编写模板测试代码?

java - 如何从 Servlet 输出文本到控制台

android - 线性布局不包裹内容

java - fragment 刷新?