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

gal*_*lao 3 jsf

我在我的xhtml上有这个代码

<h:inputHidden id="startDate" value="#{testController.selected.startDate}">
       <f:convertDateTime pattern="yyyy-MM-dd HH:mm" />
</h:inputHidden>
Run Code Online (Sandbox Code Playgroud)

如果我输入2013-02-26 17:15插入我的数据库的数据的结果是2013-02-27 01:15 或如果2013-02-26 05:15结果是2013-02-26 13:15

我已经在输入上输入了24小时的日期时间,但我真的很困惑为什么它会转换为其他东西.

*编辑

我的目标是......用户输入的时间是什么,它将在数据库中反映出来.我正在使用一个日期选择器作为输入,所以假设时间/日期输入已经正确并且是24小时格式

gal*_*lao 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>
Run Code Online (Sandbox Code Playgroud)

reference: 为f:convertDateTime设置默认时区