jsf - 转换日期时间转换奇怪的时间

标签 jsf

我的 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>

引用: Set a default time zone for f:convertDateTime

关于jsf - 转换日期时间转换奇怪的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15085300/

相关文章:

jsf - 如何对 p :fileUpload 进行验证

java - 如何在空白字段上跳过@Pattern 验证?

jsf - OmniFaces Param.validatorAttributes 的使用

java - h :commandButton works from the second click

jsf - 如何将 bean 属性从一个 View 传递到另一个 View

jsf - 如何使用自定义异常处理程序处理 javax.el.PropertyNotFoundException

jsf - 如何清除 h :message or rich:message value in JSF?

java - 如何为编辑页面创建 validator

java - JSF 和 tomcat5 - 无渲染响应

java - 值(value)和元素值(value)之间的差异