【发布时间】:2015-04-22 22:08:29
【问题描述】:
我要设计一个应用程序,我需要在其中获取两个日期之间的确切时间差。例如:
Date1:31/05/2011 12:54:00
Date2:31/05/2011 13:54:00
我尝试使用getTime(),但没有得到确切的结果。
上述输入的预期输出是 3600000 (60 * 60 * 1000) 毫秒,但我得到的是 46800000 (13 * 60 * 60 * 1000)。
当我浏览不同的 Java 论坛时,人们建议使用 JodaTime。
我仍然无法得到确切的结果。
我工作的时区是伦敦 (GMT)。
【问题讨论】:
-
如果您得到的是 13 小时的差异而不是 1 小时的差异:您在执行计算时是否检查过它不是上午 12 点还是下午 1 点?我首先想到的就是这些方面的东西。
-
另外 - 你应该知道伦敦的时区不是
GMT,而是Europe/London。两者看起来很相似,直到您遇到极端情况(例如夏令时),然后您想知道为什么所有时间都相差一小时。