2013-06-19 14 views
5

Der Beispielcode spricht für sich:Simple inkonsistent Parsing-Fehler

private void parse() throws ParseException{ 
     SimpleDateFormat sdf = new SimpleDateFormat("MMM/dd/yyyy"); 

     Date started = sdf.parse("Sep/22/2004"); 
     // this triggers: java.text.ParseException: Unparseable date: "May/23/2010" 
     Date ended = sdf.parse("May/23/2010"); 
} 

nicht sicher, was mehr ich diese hinzufügen. Ich versuche, "MMM/TT/JJJJ" -Daten zu analysieren, und ich bekomme inkonsistente Ausnahmeverhalten. Es fühlt sich an, als würde ich etwas Offensichtliches vermissen.

+4

Was ist das Gebietsschema? – Guillaume

+0

Oh Gott, natürlich. – habitats

+1

@habitats Oder einfach: 'DateFormat sdf = new SimpleDateFormat (" MMM/TT/JJJJ ", Locale.ENGLISH);' wenn Sie die allgemeinen Einstellungen nicht ändern möchten. – assylias

Antwort

4

Es war natürlich locale verwandt. Fügen Sie die folgende:

sdf.setDateFormatSymbols(DateFormatSymbols.getInstance(Locale.ENGLISH)); 

Oder alternativ einfach erklären es mit locale:

SimpleDateFormat sdf = new SimpleDateFormat("MMM/dd/yyyy", Locale.ENGLISH);