我们使用以下调用来设置Date值并将其存储在数据库中。
setCreationDate(new java.util.Date());
假设我们的数据库服务器在PST时区和user1(在PST中),user2(在EST中),user3(在GMT中)。用户屏幕会根据时区正确呈现。
如果我将数据库数据移动到不同的时区(例如EST),行为是否保持不变,或者我应该在存储之前将日期值存储在GMT中。如果是这样,我该怎么解决这个问题?
答案 0 :(得分:0)
日期 - 时间应始终存储为UTC(a.k.a.祖鲁时间,GMT)。可以说,这个星球上只有一次,其他一切都是对当地风俗和便利的解释。
格林威治皇家天文台是实时与太阳相匹配的地方,是一次历史性的事故,但在过去的几百年里证明是有用的(确切地说,即使太阳也不是很好标准,从UTC开始,但总的来说仍然有效。)
有关Java详细信息,请参阅How to handle calendar TimeZones using Java?。