JSF中convertDateTime的24小时问题

Joh*_*dli 6 time jsf converter

我有一个带有convertDateTime的输入文本字段,以查看时间是否正确.问题是convertDateTime设置为12小时计数,但我想要24小时计数,有人知道如何解决这个问题?

例如,如果我输入14:12,我会收到错误消息:'14:12'不能作为日期.但是02:12很好.

这是代码:

<h:outputText value="Time"/>

<h:inputText value="#{backBean.time}" >
 <f:convertDateTime type="time" pattern="hh:mm" timeZone="#{backBean.timeZone}"/>
</h:inputText>
Run Code Online (Sandbox Code Playgroud)

Backbean:

@ManagedBean(name = "backBean")
@SessionScoped
public class BackBean {

 private Date date = new Date();

 public void setTime(Date inDate)
{
    date.setMinutes(inDate.getMinutes());
    date.setHours(inDate.getHours());
 }

public Date getTime()
{
   return date;
  }

public TimeZone getTimeZone() {  
  TimeZone timeZone = TimeZone.getDefault();  
  return timeZone;  
  }  
}
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 11

<f:convertDateTime>应用java.text.SimpleDateFormat在幕后API,它的javadoc,请点击这里,列出所有可用的模式字母.

几个小时,你使用的模式hhjavadoc中描述为

h   Hour in am/pm (1-12)

,虽然你明确想要在javadoc中描述如下:

H   Hour in day (0-23)

相应修复:

<f:convertDateTime type="time" pattern="HH:mm" timeZone="#{backBean.timeZone}"/>
Run Code Online (Sandbox Code Playgroud)