我在json中有这个日期
"date": "2016-01-29T19:27:44",
我想将其转换为 2016年1月29日
目前,我正在使用此代码进行格式化:
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
以红色加下划线,当我将其悬停时,我看到PostItems中的 setPost_date(java.lang.String)无法应用于(java.util.Date)
无论如何要正确格式化这个?
答案 0 :(得分: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");
}