处理频繁变化的时区的最佳做法是什么?

时间:2015-12-15 03:56:00

标签: java time timezone jodatime

我正在写一个玩具物流服务。因此,产品将经过许多不同的时区,我需要查询事件的严格排序,以及产品的一天中的什么时间(例如,当太阳在其中时发生的事情)最热,在1200)。

目前,我正在保存jodatime DateTimes并尝试专门处理它们,但我知道时间非常棘手,我想知道我是否需要做任何其他工作以确保一切正常。

2 个答案:

答案 0 :(得分:1)

鉴于您在事件发生时记录事件(而不是计划未来事件),您可能不必担心将来发生的时区规则变更。

因此,存储时间戳(例如,UTC)以及事件位置的时区ID是合理的。为了使查询更容易, 还可以在事件发生时存储本地时间。请注意,当玩具穿越时区时,可能会在不同时刻发生多个事件,所有这些事件都发生在"中午"在同一天(但在不同的区域)。您真的需要仔细考虑您希望在本地日期/时间值上执行哪些查询。

答案 1 :(得分:0)

我不熟悉jodatime但是当我需要存储时间时我总是喜欢使用Epoch时间,因为它很容易操作以获得不同的格式。如果您对此感兴趣,请访问我认为非常有用的转换网站:http://www.epochconverter.com/