2016-09-01 2 views
-3

Ich versuche, ein Datum von MMM, TT JJJJ in ein Format von TT/MM/JJJJ zu konvertieren, um eine Datumsauswahl aber zu aktualisieren ich erhalte eine Fehlermeldung in Parse-Methode auf dem folgenden:Kann nicht ein Datum von MMM, TT JJJJ in ein TT/MM/JJJJ in Android konvertieren

SimpleDateFormat format = new SimpleDateFormat("MMM, dd yyyy"); 
Date newDate = format.**parse**(strCurrentDate); 

format = new SimpleDateFormat("dd/MM/yyyy"); 
String date = format.format(newDate); 

und

String str[] = date.split("/"); 
int myday = Integer.parseInt(str[0]); 
int mymonth = Integer.parseInt(str[1]); 
int myyear = Integer.parseInt(str[2]); 
dp.updateDate(myday,mymonth,myyear); 

Was ich hier falsch mache? Sollte ich es mit Versuch/Fangen einschließen? danke

+0

Zeigen Sie uns Beispiel Datumszeichenfolge –

+2

Parse ist nicht veraltet? – Stefan

+0

Warum bekomme ich dann java.text.ParseException? und wie kann ich es reparieren? –

Antwort

0

Dies wird sicher funktionieren.

String inputPattern = "MMM, dd yyyy"; 
     String outputPattern = "dd/MM/yyyy"; 
     SimpleDateFormat inputFormat = new SimpleDateFormat(inputPattern, Locale.ENGLISH); 
     SimpleDateFormat outputFormat = new SimpleDateFormat(outputPattern,Locale.ENGLISH); 

     Date date = null; 
     String str = null; 

     try { 
      String strCurrentDate = "Sep, 1 2016"; 
      date = inputFormat.parse(strCurrentDate);// it's format should be same as inputPattern 
      str = outputFormat.format(date); 
      Log.e("Log ","str "+str); 
     } catch (ParseException e) { 
      e.printStackTrace(); 
     } catch (java.text.ParseException e) { 
      e.printStackTrace(); 
     } 
+0

Wir haben die Ausnahme behoben, aber selbst wenn strCurrentDate den Wert von Sep, 1 2016 hat, bekomme ich null als Ergebnis –

+0

Entschuldigung, ich habe mit "Sep, 1 2016" gecheckt und es funktioniert einwandfrei. Überprüfen Sie meine aktualisierten Code-Snippet – ViramP

+0

Ein Komma an falscher Stelle tat das Chaos ich dachte, es war mmm, TT JJJJ aber es war MMM TT, JJJJ vielen Dank !!! für Ihre Anleitung –

0

Sie müssen zuerst die Zeichenfolge analysieren mit einem SimpleDateFormatter (SDF) wie folgt

String strDate = "MM, dd yyyy"; 
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy"); 
Date dateStr = formatter.parse(strDate); 

verwenden Sie die Zeichenfolge in ein Datum zu analysieren, und dann andere SDF diesem Datum in die drehen Format, das Sie möchten.

+0

LESEN SIE DIE FRAGE bevor Sie bitte antworten! danke –

+0

Ich tat, wenn Sie nicht geschickt genug sind, die Antwort zu verstehen, kann ich nicht helfen. –

+0

Ich meine alle ist, dass wir dasselbe sagen !! antworte ich mit meiner Frage eigentlich –

Verwandte Themen