从服务中检索的日期格式 [重复]
Posted
技术标签:
【中文标题】从服务中检索的日期格式 [重复]【英文标题】: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 个数字)或使用正则表达式。 我找到了这个答案***.com/questions/7103792/… 【参考方案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);以上是关于从服务中检索的日期格式 [重复]的主要内容,如果未能解决你的问题,请参考以下文章