我使用JSF1.2,我的时区有点问题.
日历尊重我的时区并在数据库中保存正确的时间.当我使用ah显示它时:输出文本与af:convertDateTime它显示错误的日期(我认为使用默认时区).
我可以这样做:
<h:outputText value="#{atividade.atividade.dataCriacao.time}">
<f:convertDateTime pattern="#{msg.formatoDataCalendario2}" timeZone="America/Sao_Paulo" />
</h:outputText>
Run Code Online (Sandbox Code Playgroud)
formatoDataCalendario2 = dd/MM/yyyy,HH:mm在messages.properties中.
我也可以将时区放在消息中,但我相信它有一些我可以使用的配置.
Bal*_*usC 91
JSF日期/时间转换器默认按规格指定为UTC时区.如果你想使用不同的时区,那么你真的需要自己在转换器中指定它.或者,如果您对生产运行时环境有100%的控制权,那么从JSF 2.0开始,您可以将其系统时区设置为所需的时区,并将以下上下文参数添加到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)
这样,JSF将使用系统的时区TimeZone#getDefault()
作为转换器的默认时区获得.
请注意,java.util.Date
对象本身也不存储任何时区信息.它也始终默认为UTC时区.处理提交的日期/时间时请记住这一点.
归档时间: |
|
查看次数: |
44234 次 |
最近记录: |