1. 程式人生 > >JSF標籤 h:outputText & f:convertDateTime 解決date正常顯示的問題

JSF標籤 h:outputText & f:convertDateTime 解決date正常顯示的問題

一、問題:

   用一個<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.