java - 无法识别具有偏移量的 SimpleDateFormat

标签 java java-7 simpledateformat

我需要解析以下来自网络服务的日期。

2014-09-16T18:05:00.000-05:00

所以我尝试创建 SimpleDateFormat 对象

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

JavaDocs表中给出的示例和格式与我的日期格式相匹配。

"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"            2001-07-04T12:08:56.235-07:00

但是,我遇到了以下异常。我使用 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)

最佳答案

检查您使用的 Java 版本。我敢打赌您实际上使用的是 6。

$ java -version
java version "1.6.0_65"

XXX格式在7中加入,比较:

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

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

关于java - 无法识别具有偏移量的 SimpleDateFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25879589/

相关文章:

maven - Java 7 独立应用程序中的依赖注入(inject)

Java : How to return intermediate results from a Thread

java - 我怎么知道 BufferedReader 是否与 DataInputStream 链接在一起?

java - 如何以毫秒为单位存储日期并使用java中的集合进行排序

java.text.ParseException : Unparseable date “yyyy-MM-dd' T'HH:mm:ss. SSSXXX” - SimpleDateFormat

java - 有趣语法的含义

java - 使用另一个类中的字符串设置 TextView 文本

java - 从 Java 中的列表创建不同的排列

Java 256 位 AES 基于密码的加密

java - 如何将日期转换为字符串并再次日期?