2016-07-25 20 views
2

Parsing Ich habe folgenden Code zum Analysieren von Datum in dieses Format geschrieben 25 July, 2016. Dies habe ich getan, um dies zu erreichen.Datum Parser jeden Monat bis Januar

Date _date; 
String datePattern = "dd MMMM, yyyy"; 
DateFormat formatter = new SimpleDateFormat("yyyy-MM-DD"); 
SimpleDateFormat format = new SimpleDateFormat(datePattern);  
String parseDate; 
      try { 
       _date= formatter.parse(date); //date Value is coming from serverin this format = 2016-07-21T16:01:57 
       parseDate = format.format(_date); 
      } catch (ParseException e) { 
       e.printStackTrace(); 
      } 

Das Problem ist, dass alle es alle Monate zu January wandelt es diese Tagt wandelt 2016-07-21T16:01:57 zu 21 January, 2016.

Bitte führen Sie mich, was ich hier falsch mache.

Antwort

4

Versuchen Sie folgendes:

DateFormat userDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); //time format from server 
    DateFormat dateFormatNeeded = new SimpleDateFormat("yyyy-MM-DD"); // time format needed 
    Date newDate = null; 
    try { 
     newDate = userDateFormat.parse(date); // this parses server date format 
    } catch (ParseException e) { 
     e.printStackTrace(); 
    } 
    //this converts to required date format 
    String convertedDate = dateFormatNeeded.format(newDate); 
    return convertedDate; 
4

Sie haben Ihren Parser Muster zu dem passen, dass der Server zu senden ist:

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); // this is fine now. 
3

Verwenden unten zum ersten Formatierer

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");