2016-04-02 5 views
1

У меня есть эта дата в формате JSONКак отформатировать этот день в объект JSON

"date": "2016-01-29T19:27:44", 

И я хочу, чтобы преобразовать его в 29 янв 2016

В настоящее время я нно этот код, чтобы сделать форматирование:

private void parseData(JSONArray array){ 
    Log.d(TAG, "Parsing array"); 

    for(int i = 0; i<array.length(); i++) { 
     PostItems postItem = new PostItems(); 
     JSONObject jsonObject = null; 
     try { 
      jsonObject = array.getJSONObject(i); 
      postItem.setPost_title(jsonObject.getString(ConfigPost.TAG_POST_TITLE)); 
      postItem.setPost_body(jsonObject.getString(ConfigPost.TAG_POST_BODY)); 

      SimpleDateFormat formatDate = new SimpleDateFormat("dd MMM,yyyy"); 
      String postDate = jsonObject.getString(ConfigPost.TAG_POST_DATE); 
      try { 
       Date date = formatDate.parse(postDate); 
       postItem.setPost_date(date); 
      } catch (ParseException e) { 
       Log.d(TAG, "Error in Parsing date"); 
      } 



     } catch (JSONException w) { 
      w.printStackTrace(); 
      //Toast.makeText(this, "Error in parsing Json", Toast.LENGTH_LONG).show(); 
     } 
     mPostItemsList.add(postItem); 
    } 

} 

В строке postItem.setPost_date(date); date подчеркнуто красным цветом, и когда я парить, я вижу setPost_date (java.lang.String) в PostItems не может быть применен к (java.util.Date)

Во всяком случае, чтобы правильно форматировать это?

+0

Что такое postItem.setPost_date? –

+0

Я обновил код, сэр – Faraday

+0

изменил аргумент 'setPost_date' типа' Date'. –

ответ

1
SimpleDateFormat formatDate = new SimpleDateFormat("dd MMM,yyyy"); 
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 
String inputDateStr = jsonObject.getString(ConfigPost.TAG_POST_DATE); 
try { 
    Date inputDate = inputFormat.parse(inputDateStr);    
    String postDateStr = formatDate.format(inputDate); 
    postItem.setPost_date(postDateStr); 
} catch (ParseException e) { 
    Log.d(TAG, "Error in Parsing date"); 
} 
+0

@NaN thx для редактирования, я забыл переименовать этот SimpleDateFormat –

+0

Из строки 'String postDateStr = sdf.format (inputDate);' 'sdf' подсвечивается красным цветом и, когда наводил его, я вижу ** не может разрешить символ * * – Faraday

+0

@Baldurian, You're Welcome & +1 для ответа –

Смежные вопросы