3

我的 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 小时日期时间,但我真的很困惑为什么它会转换为其他东西。

*编辑

我的目标是..用户在输入时输入的时间是多少,它会在数据库中反映出来。我正在使用日期选择器进行输入,因此假设时间/日期输入已经正确并且采用 24 小时格式

4

1 回答 1

6

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

参考: 为 f:convertDateTime 设置默认时区

于 2013-02-26T09:37:31.263 回答