【发布时间】:2014-12-08 17:03:43
【问题描述】:
我从我的服务器收到了一个 JSON 数组。我以时间戳字符串的形式获取日期——例如,[{"date": "1418056895", ... }]——我需要以我们的日期格式对其进行解析。我该怎么做呢?我试过了,但我总是把年份设为 1970。
注意:我的 JSON 格式是 UNIX。
JSONObject feedObj = (JSONObject) feedArray.get(i);
FeedItem item = new FeedItem();
item.setTimeStamp(feedObj.getString("date"));
public void setTimeStamp(String timeStamp) {
this.timeStamp = timeStamp;
}
public String getTimeStamp() {
return timeStamp;
}
在另一个类中,我解析时间戳以显示它:
List<FeedItem> feedItems = ...;
FeedItem item = feedItems.get(position);
CharSequence timeAgo = DateUtils.getRelativeTimeSpanString(
Long.parseLong(item.getTimeStamp()),
System.currentTimeMillis(), DateUtils.SECOND_IN_MILLIS);
但是显示的日期始终是 1970 年。
使用诸如1403375851930 之类的值,它似乎可以按预期工作(它显示一个当代日期)。
【问题讨论】:
-
你为什么用
getRelativeTimeSpanString? -
我想转换成人类可读的格式
-
教程里不知道是不是
-
究竟是什么不起作用?你有什么问题?
-
我得到了这个数据,所以我想像 8.12.2014 一样转换它,但是当我从 Json 得到它时,它的日期很相似“:1418056895