繁体   English   中英

如何在 JSON 对象中格式化此日期

[英]How to format this Date in JSON object

我在 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)

无论如何正确格式化这个?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM