java.util.Datevs java.sql.Date:何时使用哪个以及为什么?
我使用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中.
我也可以将时区放在消息中,但我相信它有一些我可以使用的配置.
日期(作为日期时间类型)存储在我的数据库中,如下所示:31.10.2012
当我在UI中显示它时,它默认情况下呈现如下:2012-10-31
我使用<f:convertDateTime pattern="dd.MM.yyyy" />它转换它,并且意外地转向
30.10.2012
的SimpleDateconverter,供给具有相同的日期和相同的格式字符串返回31.10.2012,如所预期.
我错过了什么?
谢谢
编辑:对于存储为Timestamp相同转换的日期产生正确的结果,所以我认为它与Date解释为确切的午夜有关,反过来可能被解释为属于2个不同的日期.但我仍然不知道在哪里定义行为以及什么是最好的解决方法.