SimpleDateFormat抛出不可解析的异常

时间:2014-02-22 23:38:59

标签: java simpledateformat jsf-2.2

我使用SimpleDateFormath:inputText字段中的字符串格式化为Date类型,以获得高级搜索方法。

我试过

if(dateFrom != null && !dateFrom.isEmpty()){
                predicates.add(cb.equal(tt.get(Bean_.dateFrom),
                        cb.parameter(Date.class, "dateFrom")));
            }

SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");                     
        if(dateFrom != null && !dateFrom.isEmpty()){               
            query.setParameter("dateFrom", formatter.parse(dateFrom));            
        }

并且

SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");  
    Date d = formatter.parse(dateFrom);
    formatter.applyPattern("dd-MM-yyyy");        
    if(dateFrom != null && !dateFrom.isEmpty()){               
        query.setParameter("dateFrom", formatter.format(d));            
    }

其他模式如“yyyy / MM / dd”,“MM / dd / yyyy”和“MM-dd-yyyy”

对于输入字段,我使用p:calendar,我也使用相同的模式输入日期。 我得到以下异常:当我在输入文本中输入24-02-2014时。

java.text.ParseException: Unparseable date: "Mon Feb 24 03:00:00 AST 2014"

我查看了有关此异常和SimpleDateFormat错误的所有SO队列,但它们都不像我的。太奇怪了。

更新
号码:日历:

<p:calendar value="#{beanController.dateFrom}" id="dateFrom" styleClass="dateTimeField" pattern="dd-MM-yyyy">

                                    <p:watermark value="From DD-MM-YYYY" for="dateFrom"/>
                                    <f:param name="dateFrom" value="#{beanController.dateFrom}"/>                                    
                                </p:calendar>

0 个答案:

没有答案