7

私のAPIはこの結果を与えます:

{
    "Posts": [{
        "UseName": "Robert Ray",
        "DateTime": "\/Date(1376841597000)\/",
        "PostText": "Welcome!!\u003cbr\u003eThis Is my Text"
    }]
}

このようにJSONを解析します

try {
    Posts = json.getJSONArray(TAG_POSTS);

    for(int i = 0; i < Posts.length(); i++){
        JSONObject c = Posts.getJSONObject(i);
        String post_text = c.getString("PostText"); 

        String strDate = "2013-05-15T10:00:00-0700";
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
        Date date = (Date) dateFormat.parse(c.getString("DateTime"));
    }
} catch (JSONException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
} catch (ParseException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
} 

しかし、それは機能していません。ユーザーが投稿を投稿してからの経過時間を計算する必要があります。
つまり、JSON の日付で現在のデータを減算し、それを分 / 時間に変換する必要があります。

4

4 に答える 4

1
  public static  String ConvertJsonDate()
          {

            String jsondate="\/Date(1427959670000)\/";
              jsondate=jsondate.replace("/Date(", "").replace(")/", "");
                long time = Long.parseLong(jsondate);
                Date d= new Date(time);
            Log.d("Convertd date is:"+new SimpleDateFormat("dd/MM/yyyy").format(d).toString());

                return new SimpleDateFormat("MM/dd/yyyy").format(d).toString();
          }
于 2015-07-20T09:04:26.300 に答える
1

これは確実に機能します

String date = "/Date(1376841597000)/";
Calendar calendar = Calendar.getInstance();
String datereip = date.replace("/Date(", "").replace(")/", "");
Long timeInMillis = Long.valueOf(datereip);
calendar.setTimeInMillis(timeInMillis);
System.out.println(calendar.getTime().toString("dd-MMM-yyyy h:mm tt"));//It Will Be in format 29-OCT-2014 2:26 PM
于 2014-10-29T09:01:15.060 に答える