首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解析具有个位数偏移的时区?"Wed Dec 31 00:00:00 GMT-8 1969“

如何解析具有个位数偏移的时区?"Wed Dec 31 00:00:00 GMT-8 1969“
EN

Stack Overflow用户
提问于 2016-07-09 08:53:47
回答 2查看 618关注 0票数 3

我有个日期:

代码语言:javascript
复制
"Wed Dec 31 00:00:00 GMT-8 1969"

但是它不能用这个SimpleDateFormat解析:

代码语言:javascript
复制
new SimpleDateFormat("EEE MMM dd hh:mm:ss zzz yyyy");

如何在格式字符串中指定-8?在阅读了SDF文档后,我尝试了ZX,但无济于事。我应该使用什么?

EN

回答 2

Stack Overflow用户

发布于 2016-07-09 09:01:30

-8的使用采用非国际标准化组织标准格式。

应该是像-0800-08:00这样的东西。这是因为时间偏移量可以包括半小时。

您应该在将字符串传递给SimpleDateFormat之前对其运行预处理转换,并将其更改为"Wed Dec 31 00:00:00 GMT-0800 1969",然后使用:

new SimpleDateFormat("EEE MMM dd hh:mm:ss Z yyyy");

如果想让它更简单,只需创建一个用America/Los_Angeles替换-8的方法并使用ZZZ即可。

票数 3
EN

Stack Overflow用户

发布于 2016-07-09 14:28:52

如果你使用的是java8,你可以尝试使用"EEE MMM d HH:mm:ss O yyyy"模式的DateTimeFormatter,比如:

代码语言:javascript
复制
    String date = "Wed Dec 31 00:00:00 GMT-8 1969";
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM d HH:mm:ss O yyyy");
    LocalDateTime dateTime = LocalDateTime.parse(date, formatter);

O表示本地化区域偏移,可以像GMT+8、GMT+08:00、UTC-08:00一样格式化区域偏移。您可以在DateTimeFormatter中查看Offset O以了解更多详细信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38277202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档