2017-06-19 119 views
1

我想通過FastDateFormat解析StringDate對象。字符串到日期解析異常與FastDateFormat

simpleDateStr"04/13/2017"這裏是我的代碼:

private static final String SIMPLE_DATE_FORMAT = "MM/dd/yyyy"; 

(Date) FastDateFormat.getInstance(SIMPLE_DATE_FORMAT).parseObject(simpleDateStr); 

我得到異常:

java.text.ParseException: Format.parseObject(String) failed 
    at java.text.Format.parseObject(Format.java:245) 

相關性:

<dependency> 
    <groupId>commons-lang</groupId> 
    <artifactId>commons-lang</artifactId> 
    <version>2.6</version> 
</dependency> 
+0

嘗試使用的'代替'的parseObject(simpleDateStr)''解析(simpleDateStr),那麼你也不需要將結果轉換爲'日期'類型。 – Jesper

+0

對我來說工作正常('parse'和'parseObject'),所以我想是時候創建一個[mcve]了。確保'simpleDateStr'是___really___「04/13/2017」,並且不包含任何隱藏的字節。 – Tom

+0

好的。我找到了。我只是意識到我在使用2.6。它有一個錯誤,並切換到3.6固定它。 – kamaci

回答

2

看來,2.6有一個錯誤並切換到3.6修復了這個問題。

PS:原因是它沒有作爲@Shekhar Khairnar回答。

1

在2.6實現(直從FastDateFormat的源代碼)是這樣的:

// Parsing 
    //----------------------------------------------------------------------- 
    /** 
    * <p>Parsing is not supported.</p> 
    * 
    * @param source the string to parse 
    * @param pos the parsing position 
    * @return <code>null</code> as not supported 
    */ 
    public Object parseObject(String source, ParsePosition pos) { 
     pos.setIndex(0); 
     pos.setErrorIndex(0); 
     return null; 
    } 

這是罪魁禍首