如何将日期格式转换为另一种格式而不使其成为字符串?

时间:2017-04-10 19:26:54

标签: date jsf primefaces jsf-2

我有一个表单,在插入数据时,日期以这种格式插入数据库中:

2017-04-01 00:00:00.0

以下是将日期插入数据库的组件

                            <p:outputLabel for="dateFin" value="Date fin"/>
                        <p:calendar id="dateFin" value="#{etpBean.dateFin}"  required="true">
                        </p:calendar>

这是我的组件

                        <p:outputLabel for="dateDebut" value="Date Debut"/>
                    <p:calendar id="dateDebut" value="#{etpBean.dateDebut}" required="true">
                    <p:ajax event="dateSelect" listener="#{etpBean.onDateDebutChange}"/>
                    </p:calendar>

在这个按日期搜索的形式中,它是相同的组件,那么当我选择日期按日期进行搜索时,我在我的bean中显示它就是这种格式

Sun Apr 30 00:00:00 GMT 2017

所以我从数据库中恢复的列表总是为空,因为格式不一样

1 个答案:

答案 0 :(得分:0)

你有点困惑。日期不会改变它的外观。 <p:calendar>具有(可能是本地相关的)格式,它应该与在另一个视图中可视化时应用的格式不同。 TTimeStemp值的可视格式可以由<f:convertDateTime>子标签设置:

<h:inputText value="#{bean.date}">
    <f:convertDateTime pattern="MM/dd/yyyy" />
</h:inputText>

<p:calendar value="#{bean.date}">
    <f:convertDateTime pattern="MM/dd/yyyy" />
</p:calendar>