首页 > Java > java教程 > 如何使用 SimpleDateFormat 解析带有 \'Z\' 文字的 ISO 8601 日期?

如何使用 SimpleDateFormat 解析带有 \'Z\' 文字的 ISO 8601 日期?

Susan Sarandon
发布: 2024-11-04 05:57:02
原创
374 人浏览过

How to Parse ISO 8601 Dates with

使用 SimpleDateFormat 和 'Z' 文字解析 ISO 8601 日期

问题:

尝试使用具有各种模式的 SimpleDateFormat 类解析包含“Z”时区文字的 ISO 8601 日期字符串无法返回正确的 UTC 时间。具体来说,日期“2010-04-05T17:16:00Z”被解析为“Mon Apr 05 17:16:00 EDT 2010”,尽管“Z”文字表示 UTC。

解决方案:

SimpleDateFormat 类默认无法处理 ISO 8601 格式的时间戳。然而,在 Java 7 中,引入了一种新模式来专门处理这种情况:

yyyy-MM-dd'T'HH:mm:ssX
登录后复制

此模式需要“X”时区后缀,它可以表示“Z”文字来指示 UTC。使用此模式时,SimpleDateFormat 会正确地将日期解析为其 UTC 等效值。

替代日期解析器:

如果 SimpleDateFormat 不能满足您的需求,您还可以考虑使用替代日期解析库,例如 Joda-Time 或 ThreeTen-Backport,它们对 ISO 8601 日期和时区文字有更好的支持。

以上是如何使用 SimpleDateFormat 解析带有 \'Z\' 文字的 ISO 8601 日期?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板