JSF标签 h:outputText & f:convertDateTime 解决date正常显示的问题

来源:互联网 发布:手机淘宝如何投诉假货 编辑:程序博客网 时间:2024/04/26 08:55

一、问题:

   用一个<h:outputText/>直接显示日期,显示在页面上的日期会比从数据库里取出的日期提前一天。

二、解决方法:
  
  在<h:outputText/>标签中加入<f:convertDateTime>标签,就可以解决这个问题,代码如下:


<h:outputText value="#{data.t_Date}"> 
        <f:convertDateTime pattern="yyyy年MM月dd日" timeZone="GMT+8"/> 
</h:outputText>
三、问题原因:

   能够解决上面问题的关键是timeZone="GMT+8",也就是说问题处在时区上,timeZone属性规定了时区,所以时间可以正常显示。

四、附录-GMT的介绍

    GMT 就是格林威治标准时间的英文缩写(Greenwich Mean Time 格林尼治标准时间).

    格林威治是伦敦泰晤士河南岸的一个地方,由于从19世纪开始,因为世界各国来往频繁,而欧洲大陆、美洲大陆和亚洲大陆都有各自的时区,所以为免混乱,各国的代表就在1884 年在美国华盛顿召开了国际大会,通过协议选出伦敦的格林威治,作为全球时间的中心点,格林威治标准时间因而诞生。所以有GMT功能的腕表就是说腕表拥有其中的小时表盘可以显示GMT时间。
    GMT+8 就是说与GMT时差8个小时,刚好就是我们中国的时间. 北京时间是 GMT+8.


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/EvaTian/archive/2008/12/23/3588598.aspx

原创粉丝点击