我的 xhtml 上有这段代码
<h:inputHidden id="startDate" value="#{testController.selected.startDate}">
<f:convertDateTime pattern="yyyy-MM-dd HH:mm" />
</h:inputHidden>
如果我输入 2013-02-26 17:15
插入我的数据库的数据结果是 2013-02-27 01:15
或者如果 2013-02-26 05:15
结果是 2013-02-26 13:15
我已经在输入中输入了 24 小时日期时间,但我真的很困惑为什么它要转换成其他东西。
*编辑
我的目标是.. 用户在输入中输入的时间是多少,它在数据库中的反射(reflect)是一样的。我正在使用日期选择器进行输入,因此假设时间/日期输入已经正确并且采用 24 小时格式
最佳答案
我猜 JSF 日期/时间转换器根据规范默认为 UTC 时区。
所以我将它添加到我的 web.xml 中并且它起作用了。
<context-param>
<param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
<param-value>true</param-value>
</context-param>
关于jsf - 转换日期时间转换奇怪的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15085300/