全部,
我知道我之前在使用 Java 将 ISO8601 日期字符串解析为 Date 时问过类似的问题,但这是使用 SimpleDateFormat 类的更具体的问题。
我已阅读文章Wiki ISO8601 Date。
我从客户那里获得了一个 XML 文件,该文件的日期和时间采用以下格式:
2012-08-24T12:15:00+02:00
根据 Wiki 文章,这是有效的,这很公平。
给定以下代码来解析此字符串,会引发 ParseException,并显示消息“无法解析的日期:“2012-08-24T12:15:00+02:00””。
String inputDate = "2012-08-24T12:15:00+02:00";
String format = "yyyy-MM-dd'T'HH:mm:ssz";
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date d = sdf.parse(inputDate);
问题在于时区说明符中的冒号。时区中的 +02:00 会导致引发异常。+0200 工作正常。
问题是,是否可以使用 SimpleDateFormat 解析这种类型的字符串?
谢谢
安德斯