我需要解析以下来自网络服务的日期。
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/