2016-09-26 14 views
0

私は日付MMMが大文字であるddMMMyyyyある"28NOV2015"を持っている日付がスレッドに豆IO:CAPSでの日付のMMMが解析されない

例外を解析されたときに「エラーの下に取得

<field name="BirthDate" type="date" format="ddMMMyyyy"/> 

メイン "org.springframework.core.convert.ConvertFailedException:型[java.lang.String]から値[28NOV2015]の[java.util.Date]に変換できませんでした。入れ子にされた例外はjava.lang.IllegalArgumentExceptionである。

それを文字列&として取得して解決すると、すでにキャストされていることが明らかになった&。

私はそれを直接解析する方法はありますか。

+0

は、あなたがあなたの '宣言しているどのように投稿することを使用します。しかし、あなたはshortWeekdaysを設定する必要がありますCustomDateFormat'? XMLまたはJavaのいずれかの設定。 – Tunaki

+0

実際にCSVとPOJOを一致させるBeanIOを使用します。私はCustomDateFormatを使用しません。この日付は実際には生の形式で表示されます。 – Ashish

+0

使用しているBeanIOのバージョンは? – Tunaki

答えて

0

あなたがあなたのファイルで受け取り、カスタマイズしてSimpleDateFormat

public class MyCustomDateFormatHandler extends DateTypeHandler { 

    String[] capitalDays = { 
     "", "SUN", "MON", 
     "TUE", "WED", "THU", 
     "FRI", "SAT" 
    }; 

    @Overwrite 
    protected DateFormat createDateFormat() { 
      if (this.pattern == null) { 
       return createDefaultDateFormat(); 
      } 

      symbols = new DateFormatSymbols(this.locale); 
      symbols.setShortWeekdays(capitalDays); 
      DateFormat df = new SimpleDateFormat(this.pattern, symbols);; 
      df.setLenient(this.lenient); 
      if (this.timeZone != null) { 
       df.setTimeZone(this.timeZone); 
      } 
      return df; 
     } 

} 

にDateTypeHandlerを上書きして

<typeHandler name="myCustomDateFormatHandler" class="MyCustomDateFormatHandler" /> 

<field name="BirthDate" type="date" format="ddMMMyyyy" typeHandler="myCustomDateFormatHandler"/> 
関連する問題