使用 SimpleDateFormat 将具有 GMT 时区的字符串解析为日期

发布于 2024-11-19 23:23:57 字数 539 浏览 5 评论 0原文

我在从以下格式的输入字符串解析日期时遇到问题:

String input = "Fri Jul 15 12:00:00 GMT+300 2011";
String dateFormat  = "EEE MMM d HH:mm:ss z yyyy";
Date date = new SimpleDateFormat(dateFormat).parse(input);

抛出异常:

java.text.ParseException: Unparseable date: "Fri Jul 15 12:00:00 GMT+300 2011"
    at java.text.DateFormat.parse(DateFormat.java:337)

我打赌它与 GMT 字符串有关。我想我已经尝试过 zzzzzZzzzZ。 有什么想法吗?输入的 GMT+300 是标准的、有效的输入格式吗?

I'm having problem parsing the Date from an input string that is of the following format:

String input = "Fri Jul 15 12:00:00 GMT+300 2011";
String dateFormat  = "EEE MMM d HH:mm:ss z yyyy";
Date date = new SimpleDateFormat(dateFormat).parse(input);

An exception is thrown:

java.text.ParseException: Unparseable date: "Fri Jul 15 12:00:00 GMT+300 2011"
    at java.text.DateFormat.parse(DateFormat.java:337)

I bet it has got something to do with the GMT string. I think I've tried it with z, zzz, zZ, and zzzZ.
Any thoughts? Is the input GMT+300 even a standard, valid input format?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

罗罗贝儿 2024-11-26 23:23:57

问题是,根据 Java 时区规范

解决方案:操作输入字符串的时区部分。 GMT+300 ==> 格林威治标准时间+3:00

The problem was that GMT+300 isn't valid GMT string according to the Java Timezone specification.

Solution: Manipulating the timezone portion of input string. GMT+300 ==> GMT+3:00

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文