【发布时间】:2016-08-09 03:16:03
【问题描述】:
我需要在两个日期之间确定一个时间。假设dateStart = 1470712122173 和dateStop = 1470712127320。
这两个日期之间的差等于5147
所以,据此,我希望得到一个答案 = 5 秒,但我看到了19:00:05。这 19 个小时从何而来?
毫秒代码 (= 5147) -> 时间:
private string foo(long dateStart, long dateStop) {
long diff = dateStop - dateStart;
DateFormat simple = SimpleDateFormat.getTimeInstance();
Date date = new Date(diff);
return simple.format(date);
}
谢谢你的解释。
【问题讨论】:
-
两个时间点的差不是另一个时间点。这是一个持续时间。
-
也许您在 UTC-5 时区。您可以使用 Joda lib 计算时差,也可以自己计算秒、分钟、..
-
@flkes 我认为 +19 的时区不存在。我认为它具有差异值
-
与时区无关。正如@LukeLee 所说:
new Date(diff)毫无意义。将diff保留为long,它只是毫秒数,而不是日期。
标签: java android date-arithmetic