2016-05-21 16 views
-1

Hallo ich Zeichenfolge Datum unten konvertieren müssen, ist mein Code,String Wandlungstag Ausnahme mit in Parsen

String string = "January 2, 2010"; 
DateFormat format = new SimpleDateFormat("MM/dd/yyyy", Locale.ENGLISH); 
Date date = format.parse(string); 
System.out.println("Date././."+date); 

Wenn ich meinen Code ausführen, wie wie unter Parse Ausnahme bin immer,

java.text.ParseException: Nicht übertragbares Datum: "Januar 2,2010"

+1

Nun ja - schauen Sie sich das Format Ihres tatsächlichen Wertes an und schauen Sie sich das Muster an, das Sie spezifizieren. Sie sind nichts miteinander. Bitte lesen Sie die Dokumentation zu 'SimpleDateFormat'. –

+0

tatsächlich bekomme ich diese Eingabe-String aus einer anderen Datei im oben genannten Format und die Ausgabe auch ich muss in diesem Format sein (MM/TT/JJJJ) so nur ich erwähnte so –

+0

Richtig, aber Sie verwenden das nicht code to * format * - Sie verwenden es zum * parsen *. Parsen Sie also mit dem Muster, das den Eingabedaten entspricht, und formatieren Sie es mit einem anderen Muster. Lesen Sie https://codeblog.jonskeet.uk/2015/05/05/common-mistakes-in-datetime-formatting-and-parsing/ –

Antwort

2

Ihr Format muss mit dem Datum übereinstimmen, das Sie analysieren möchten. ZB für Ihren Anwendungsfall:

String string = "January 2, 2010"; 
DateFormat format = new SimpleDateFormat("MMMMM dd, yyyy", Locale.ENGLISH); 
+1

Sie brauchen nur 4 MMMMs, um beliebig lange Texte zu finden. –

+0

@DanielWiddis yup, klebriges Fingersyndrom. Danke fürs bemerken! (bearbeitet und repariert). – Mureinik

+0

@Mureinik danke –