【发布时间】:2014-10-15 02:37:55
【问题描述】:
我一直在研究日期格式和时区设置,但仍然无法获得我在 managedBean 中选择的正确值。我尝试了不同的日子、月份和年份,但没有得到好的结果,因为它似乎是在设置小时而不是月份,无论我选择哪个月份,都将一月份作为所选月份。由于我没有看到类似的问题,我决定在这里发布我的问题。任何帮助表示赞赏。
这是我的 JSF 页面中的代码:
<p:calendar pattern="dd-mm-yyyy" locale="fr" value="#{modBean.dateEmp}">
<h:outputScript name="js/fr.js"/>
<p:ajax event="dateSelect" process="@this"/>
</p:calendar>
这是我 managedBean 中的代码:
public void setDateEmp(Date dateEmp)
{
System.out.println("dateEmp param : "+dateEmp);
DateFormat df=DateFormat.getDateInstance(DateFormat.SHORT, Locale.FRANCE);
df.setTimeZone(TimeZone.getTimeZone("Europe/Paris"));
String dateFormate=df.format(dateEmp);
System.out.println("dateformate : "+dateFormate);
try
{
this.dateEmp=df.parse(dateFormate);
System.out.println(this.dateEmp);
}
catch (ParseException e)
{
e.printStackTrace();
}
}
最后,这就是我在控制台中得到的三张照片(例如,我选择了“2014 年 8 月 1 日”):
dateEmp param : Wed Jan 01 00:08:00 CET 2014
dateformate : 01/01/14
Wed Jan 01 00:00:00 CET 2014
有人可以帮忙吗?
【问题讨论】:
标签: jsf-2 primefaces calendar