【问题标题】:Date format retrieved from a service [duplicate]从服务中检索的日期格式 [重复]
【发布时间】:2012-12-15 01:47:31
【问题描述】:

我正在努力将 Json 对象从服务获取到 Android 中的列表视图...日期格式如下所示“/Date(1354222800000+0300)/”...如何将其更改为可读格式?

for (int i = 0; i < json.length(); i++) {

    HashMap<String, String> map = new HashMap<String, String>();
    JSONObject e = json.getJSONObject(i);
    map.put("mDate", "" + e.getString("mDate"));
    mylist.add(map);

}

【问题讨论】:

  • 在文档中有这种格式的含义吗? [+0300 非常肯定意味着 GMT + 3h]
  • 使用 "substring" 提取 datetimemillis(总是 13 个数字)或使用正则表达式。
  • 我找到了这个答案stackoverflow.com/questions/7103792/…

标签: java javascript android json


【解决方案1】:

这是 MS JSON 日期格式。

用途:

var myDate = new Date(parseInt(String(dateString).substr(6)));

【讨论】:

  • 是的,我在 java 脚本中知道 :) 但我是 android 开发的新手,我想将格式更改为 java ...感谢您的回答
【解决方案2】:
    String mDate = getFormattedDate(e.getString("JSON OBJECT"));

    private String getFormattedDate(String stringDate) throws JSONException {
    String strDate = stringDate.replace("/Date(", "").replace(")/", "");

    strDate = strDate.substring(0, strDate.indexOf("+"));
    Long longDate = Long.parseLong(strDate, 10);
    Date mDate = new Date(longDate);

    SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy");
    String formattedDate = sdf.format(mDate);

    return formattedDate;
}

【讨论】:

  • 这就是我找到将 JSON 日期格式化为可读格式的解决方案的方法,:) :) :)
  • JSONObject e = json.getJSONObject(i);
猜你喜欢
  • 2015-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-02
  • 2011-08-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多