2012-12-13 48 views
5
<rich:column> 
    <f:facet name="header"> 
      <h:outputText value="Expiry Date"/> 
    </f:facet> 
    <h:outputText value="#{item.endDate}"> 

    </h:outputText> 
</rich:column> 

使用上面的代碼,我從數據庫中的日期爲2012-09-03 00:00:00.0如何在jsf頁面上設置日期模式?

現在,我要設定日期模式DD-MM-YYYY。

所以我要求的輸出是03-09-2012。

但是用下面的代碼(後設置模式)

<rich:column> 
    <f:facet name="header"> 
     <h:outputText value="Expiry Date"/> 
    </f:facet> 
    <h:outputText value="#{item.endDate}"> 
      <f:convertDateTime pattern="dd-MM-yyyy" /> 
    </h:outputText> 
</rich:column> 

我得到的輸出是2012年2月9日

無論日期是在數據庫中,它顯示輸出更少一天。

在此先感謝。

+1

可能重複的[JSF convertDateTime呈現前一天](http://stackoverflow.com/questions/12351244/jsf-convertdatetime-renders-the-previous-day) – BalusC

+0

感謝指出我。下次,我會小心這個。 – pioneer

回答

1

您應該添加合適的timeZone屬性到convertDateTime組件。 對於我區爲例

<f:convertDateTime pattern="dd-MM-yyyy" timeZone="Asia/Calcutta" /> 

注:

可以使用java.util.TimeZone.getDefault().getID()讓你的當前時區的ID。

+0

它的工作原理。謝謝。 – pioneer

+1

聽到這個很高興。 :)請不要忘記將答案標記爲已接受;) – prageeth