我正在尝试将来自JSON API的时间戳转换为相对时间跨度字符串,如下所示:
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Date date = sdf.parse(item.getTimeStamp());
long milliseconds = date.getTime();
CharSequence timeAgo = DateUtils.getRelativeTimeSpanString(
milliseconds,
System.currentTimeMillis(), DateUtils.SECOND_IN_MILLIS);
timestamp.setText(timeAgo);
} catch (java.text.ParseException e) {
e.printStackTrace();
}
时间戳以JSON格式返回:2014-07-01T00:05:20Z
我正在抛出Unparseable date
我在这里做错了什么?
答案 0 :(得分:4)
Z
需要时区值,将模式更改为,因为输入中没有毫秒,所以不需要SSS
yyyy-MM-dd'T'HH:mm:ss'Z'