【发布时间】:2017-04-11 11:44:37
【问题描述】:
我已将记录插入时间保存在System.currentTimeMillis()。现在目前,我知道当前的System.currentTimeMillis()。
我想知道两者在经过的小时数方面的区别。
当我使用这个时
System.currentTimeMillis()/(60 * 60 * 1000 ) - savedDate/(60 * 60 * 1000)
它在输出中给了我这个数字414419
请指导我如何从currentTimeMillis获取小时数
【问题讨论】:
-
可能重新看看运算符优先级?
-
首先,我会先减去,然后再进行除法。否则舍入误差将相加(从 9:59 到 10:01 会有 1 小时,但从 10:01 到 10:59 会有 0 小时)。其次,我不想自己做除法,这会迫使读者弄清楚我从哪里得到这些数字。使用库可以使代码更清晰。例如
Duration.ofMillis(System.currentTimeMillis() - savedDate).toHours(),或见Sujith Niraikulathan’s answer
标签: java android swing datetime