java语法异常:不可解析的日期

java语法异常:不可解析的日期,java,android,date,datetime,simpledateformat,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();

我试图将来自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

我正在抛出不可解析日期的异常


我做错了什么?

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

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

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

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

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

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

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

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

非常感谢。我的日期现在正在分析和显示。但它仍然没有转换为
timeAgo
格式。知道为什么吗?试着把
SECOND\u IN\u MILLIS
改成
FORMAT\u NUMERIC\u DATE
谢谢!我的日期现在正在分析和显示。但它仍然没有转换为
timeAgo
格式。知道为什么吗?试着把
SECOND\u IN\u MILLIS
改成
FORMAT\u NUMERIC\u DATE
谢谢!我的日期现在正在分析和显示。但它仍然没有转换为
timeAgo
格式。知道为什么吗?试着把
SECOND\u IN\u MILLIS
改成
FORMAT\u NUMERIC\u DATE
谢谢!我的日期现在正在分析和显示。但它仍然没有转换为
timeAgo
格式。知道为什么吗?试着将
秒(单位:毫秒)
更改为
格式(单位:数字)\u日期)