This question already has answers here:
Java Time Zone When Parsing DateFormat
(8个答案)
4年前关闭。
我正在尝试解析W3C XML Schema日期,如下所示
符合W3C XML Schema dateTime规范的ISO 8601版本。
在上述日期中,时区标识符为
如果时区为
同样,如果时区为
(顺便说一下,大写的
因此,是否存在
(8个答案)
4年前关闭。
我正在尝试解析W3C XML Schema日期,如下所示
"2012-05-15T07:08:09+03:00"
符合W3C XML Schema dateTime规范的ISO 8601版本。
在上述日期中,时区标识符为
"+03:00"
,但显然不存在SimpleDateFormat
模式来表示它。如果时区为
"+0300"
,则Z
(大写)将适用,并且SimpleDateFormat
模式为yyyy-MM-dd'T'HH:mm:ssZ
同样,如果时区为
"GMT+03:00"
,则z
(小写)将适用,并且SimpleDateFormat
模式为yyyy-MM-dd'T'HH:mm:ssz
(顺便说一下,大写的
'Z'
也可以使用)。因此,是否存在
SimpleDateFormat
模式或替代方法来表示上述日期,而无需预处理日期字符串? 最佳答案
怎么样:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"){
public Date parse(String source,ParsePosition pos) {
return super.parse(source.replaceFirst(":(?=[0-9]{2}$)",""),pos);
}
};
10-06 14:10