0

我必须计算代表车辆出发和到达的两个日期之间的差异(它已经行驶了多少小时)。我目前正在使用 Joda 库。如果我使用 Hours 课程,

DateTime begin = new DateTime("2012-03-25T00:00+00:00");
DateTime end = new DateTime("2012-03-26T00:00+00:00");
Hours h = Hours.hoursBetween(begin, end);

结果我得到24小时。(h.getHours())。

我可以获得两个日期之间经过的小时数,但是在考虑到 DST 发生的时间间隔内我该怎么办?事实上,由于选择的日子(2012 年 3 月 25 日)是 DST 发生的日子(在欧洲/伦敦地区),我应该得到 23 小时的结果。有没有可以处理这个特定事件的类/方法?

4

1 回答 1

4

当您+00:00在末尾给出日期时,您指定的是 UTC 偏移量,因此这些是准确的时间,不受 DST 的影响。

如果您使用了时区等,您会看到 DST 的影响,但您得到的是正确答案

于 2012-11-24T09:53:00.523 回答