2016-07-25 8 views
2

次のコードを書いて、この形式の日付を解析しました。これは私がこれを達成するためにしたものです。毎月1月に解析する日付パーサー

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(); 
      } 

問題は、それはそれは 21 January, 2016にこのdatet 2016-07-21T16:01:57を変換Januaryにすべての月を変換し、すべてのことです。

私がここで間違っていることを親切に教えてください。

答えて

4

これを試してみてください:

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

あなたは、サーバーが送信しているものに、あなたのパーサーパターンに一致する必要があります。

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

最初のフォーマッタについては、以下の利用

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 
関連する問題