美国日期时间格式与 PrimeFaces 6.2 问题

US DateTime Format with PrimeFaces 6.2 issue

我刚刚将 PrimeFaces 从 4.2 升级到 6.2,我立即注意到日历出现故障。 实际上,当我将日期格式设置为 MMM dd, yyyy hh: mm a 时,不再显示用于插入的弹出按钮。

这是我在 .xhtml 页面中的日历组件

<p:calendar value="#{pakVeFormA.endDate}"
            pattern="#{languageBean.dtPatterns[languageBean.local]}"  
            mindate="#{pakVeFormA.today}"  
            showOn="button" showButtonPanel="true" 
            readonlyInput="true" timeZone="Asia/Karachi"/>

其中模式是 'MMM dd, yyyy hh:mm a'

控制台出现'Uncaught Wrong time format'

我注意到通过删除模式或注意弹出按钮正确显示。 所以我尝试在 pakVeFormA Bean 中格式化新的 Date() 但没有任何改变。 我也尝试过使用像“mindate="Jan 03, 2019 08:00 PM"”这样的静态字符串来注入最小日期,但这次也没有任何变化。

最后我尝试将模式更改为 'MMM dd, yyyy HH:mm',日历工作没有问题,但我需要 AM/PM 格式

感谢大家

更新: 我复制了测试用例。

这是豆子

@ManagedBean(name = "testFormBean")
@ViewScoped
public class TestFormBean implements Serializable  {


private static final long serialVersionUID = 1L;

private Date today;
private Date selectedDate;


@PostConstruct
public void init() {
    today=new Date();       
}


public Date getToday() {
    return today;
}

public void setToday(Date today) {
    this.today = today;
}

public Date getSelectedDate() {
    return selectedDate;
}

public void setSelectedDate(Date selectedDate) {
    this.selectedDate = selectedDate;
}
}

这是组件

<p:calendar value="#{testFormBean.selectedDate}"
        pattern="MMM dd, yyyy hh:mm a"  
        mindate="#{testFormBean.today}"  
        showOn="button" showButtonPanel="true" 
        readonlyInput="true" timeZone="Asia/Karachi"/>

但还是不行。如果我删除 mindate 属性,一切正常

问题已重现,错误已提交到 PF GitHub 页面:

https://github.com/primefaces/primefaces/issues/4366

2019 年 1 月 10 日更新: 该错误已修复并将在 PF 6.3 中