0

我尝试使用 SimpleDateFormat 解析此字符串 20130718T090000Z。我喜欢这样:

        String timeString= "20130718T090000Z";
        DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd'T'HHmmssZ");
        Date date= dateFormat.parse(timeString);

我收到一个无法解析的错误。从这里参考http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html#rfc822timezone我发现我没有做错什么,或者我做错了吗?谢了。

4

4 回答 4

5

使用此格式字符串"yyyyMMdd'T'HHmmss'Z'"。它没有解析的原因是,输入Z最后没有可解析的字符。"20130718T090000Z"

于 2013-07-19T07:13:24.447 回答
2

Z用于时区。您没有在日期字符串中提供时区。

你应该做一些类似的事情String timeString= "20130718T090000-0700";

如果您想将Z其视为常量,则需要将格式更改为yyyyMMdd'T'HHmmss'Z'

于 2013-07-19T07:16:52.757 回答
0

您遇到的问题是Z您的时间String不被识别为有效时区。

使用 Java 6,您必须自己处理时区Z,然后将其删除或替换为+0000.

于 2013-07-19T07:14:52.230 回答
0

您必须在输入字符串中给出 Z 的值。作为字符串时间字符串=“20130718T090000+0000”;

这将根据格式解析您的日期..

希望能帮助到你

于 2013-07-19T08:27:24.407 回答