我希望能够将这个问题及其答案作为处理夏令时的权威指南,特别是处理实际的变更问题.
如果您有任何要添加的内容,请执行此操作
许多系统依赖于保持准确的时间,问题在于由于夏令时改变时间 - 向前或向后移动时钟.
例如,在订单获取系统中有一个业务规则取决于订单的时间 - 如果时钟发生变化,规则可能不那么明确.如何保持订单的时间?当然有无数的场景 - 这只是一个说明性的场景.
同样重要的是,如果不是这样的话:
我会对编程,操作系统,数据持久性和该问题的其他相关方面感兴趣.
一般答案很好,但我也希望看到细节,特别是如果它们只在一个平台上可用.
有几个的JavaServer Faces <context-param>在web.xml:facelets.REFRESH_PERIOD,facelets.DEVELOPMENT,facelets.SKIP_COMMENTS等我在哪里可以找到所有这些PARAMS的完整列表?
我有一个类,其日期字段表示一段数据的"有效起始日期".它的定义如下:
@Temporal( TemporalType.DATE )
private Date validFrom;
Run Code Online (Sandbox Code Playgroud)
在我从数据库中提取日期并显示它之前,似乎一切正常.如果我在前端选择2003年9月18日的日期,那么当我在数据库中检查确定的日期是保存的日期时保存它(数据库是MySQL 5.5.9列类型是DATE).然而,当我拿出一份清单时,显示的日期是2003年9月17日 - 前一天.
如果我选择在2003年3月26日或2003年12月25日之前或之后的一个日期,一切都很好,所以我猜这是与夏令时有关但错误在哪里蔓延?由于数据库似乎保持正确的日期,我猜测它必须在JPA转换回java.util.Date时 - java.util.Date是用于日期的最佳类吗?我已经看过一些人们使用Calendar的例子,但这看起来非常重,我不确定它能用于基于JSF的前端.
Date的DB值是:
04-OCT-10
Run Code Online (Sandbox Code Playgroud)
Bean方法返回:
Mon Oct 04 00:00:00 EEST 2010
Run Code Online (Sandbox Code Playgroud)
JSF返回:
03.10.2010
Run Code Online (Sandbox Code Playgroud)
JSF代码:
...
<h:outputText value="#{paym.dueDate}" >
<f:convertDateTime pattern="dd.MM.yyyy"/>
</h:outputText>
...
Run Code Online (Sandbox Code Playgroud)
是什么原因导致JSF日期值不正确?
谢谢