SimpleDateFormat,无法识别偏移量

Jav*_*per 2 java simpledateformat java-7

我需要解析来自Web服务的Date.

2014-09-16T18:05:00.000-05:00
Run Code Online (Sandbox Code Playgroud)

所以我尝试创建SimpleDateFormat对象

SimpleDateFormat simpleDateFormat = new SimpleDateFormat
                                   ("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
Run Code Online (Sandbox Code Playgroud)

JavaDocs下面的示例和格式与我的日期格式匹配.

"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"            2001-07-04T12:08:56.235-07:00
Run Code Online (Sandbox Code Playgroud)

但是,我正在低于例外.我用的是jdk 1.7.0_55.有什么我想念的吗?

Caused by: java.lang.IllegalArgumentException: Illegal pattern character 'X'
    at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:768)
    at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:575)
    at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:500)
    at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:475)
Run Code Online (Sandbox Code Playgroud)

nos*_*omo 6

检查您正在使用的Java版本.我打赌你实际上是在使用6.

$ java -version
java version "1.6.0_65"
Run Code Online (Sandbox Code Playgroud)

在7.中添加了XXX格式.比较:

http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html