我希望JSON输出采用特定的日期格式。我的JSON输出是:
"data":[[{"id":1,"createTimestamp":{"iMillis":1431463708237,"iChronology":{"iBase":{"iMinDaysInFirstWeek":4}}},"startTimestamp":{"iMillis":1420092000000,"iChronology":{"iBase":{"iMinDaysInFirstWeek":4}}},"endTimestamp":{"iMillis":1451541600000,"iChronology":{"iBase":{"iMinDaysInFirstWeek":4}}}}]]
但我希望时间戳采用这种格式:
2015-05-12T20:48:28.237Z
我的代码:
JSONArray a = new JSONArray();
a.add(aList);
JSONObject j = new JSONObject();
j.put("data", a);
JsonArray array = new JSONArray();
array.add(j);
String jason = gson.toJson(array);
我试过这样的事,但没有工作
for (Noti n : aList) {
DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
dtf.parseDateTime(n.getCreateTimestamp().toString());
}
由于
答案 0 :(得分:0)
这是你的时间:
1431463708237
注意:没有引号。这是一个数字。
这是您的日期格式:
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
你能看到你的时间和日期格式根本不匹配吗?
现在看看时间是什么:它被称为" iMillis"。猜猜这个数字可以测量什么。现在拿你最喜欢的计算器,找出它是多少年。现在是2015年,所以当这个时间开始计时时猜一猜。然后想想1970年与时间戳有关的重要性。例如,您可以键入"时间戳1970"进入谷歌
答案 1 :(得分:0)
在JS / Jquery中,我使用了
var endTimestamp = new Date(data[i].endTimestamp.iMillis);