我希望能够将这个问题及其答案作为处理夏令时的权威指南,特别是处理实际的变更问题.
如果您有任何要添加的内容,请执行此操作
许多系统依赖于保持准确的时间,问题在于由于夏令时改变时间 - 向前或向后移动时钟.
例如,在订单获取系统中有一个业务规则取决于订单的时间 - 如果时钟发生变化,规则可能不那么明确.如何保持订单的时间?当然有无数的场景 - 这只是一个说明性的场景.
同样重要的是,如果不是这样的话:
我会对编程,操作系统,数据持久性和该问题的其他相关方面感兴趣.
一般答案很好,但我也希望看到细节,特别是如果它们只在一个平台上可用.
如何配置JPA/Hibernate将数据库中的日期/时间存储为UTC(GMT)时区?考虑这个带注释的JPA实体:
public class Event {
@Id
public int id;
@Temporal(TemporalType.TIMESTAMP)
public java.util.Date date;
}
Run Code Online (Sandbox Code Playgroud)
如果日期是太平洋标准时间(PST)的2008年2月3日上午9:30,那么我希望将数据库中存储的2008年2月3日下午5:30的UTC时间.同样,当从数据库中检索日期时,我希望它被解释为UTC.所以在这种情况下530pm是在UTC时间下午5点.当它显示时,它将被格式化为太平洋标准时间上午9:30.