java ParseException:无法解析的日期

时间:2014-07-20 18:10:47

标签: java android date datetime simpledateformat

我正在尝试将来自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

的例外情况

我在这里做错了什么?

1 个答案:

答案 0 :(得分:4)

Z需要时区值,将模式更改为,因为输入中没有毫秒,所以不需要SSS

yyyy-MM-dd'T'HH:mm:ss'Z'