从前端拿到和 UTC 的偏移量 08:00 ,该怎么转换获得时区呢?

2020-05-18 11:37:56 +08:00
 wk1563396689
1261 次点击
所在节点    问与答
3 条回复
Mutoo
2020-05-18 12:30:38 +08:00
1) 总是使用 ISO_8601 的日期格式。
new Date().toISOString() 可以得到当前 UTC 时间的 ISO8601 表示,以 "z" 结尾。
这个方法不带时区。
2) 使用 new Date().getTimezoneOffset() 获得与 UTC 的时间差,单位分钟,来表示时区。
例如 +10:00 时区 getTimezoneOffset() 得到 -600
wk1563396689
2020-05-18 18:06:45 +08:00
这边是因为 java 是放到 docker 里面去跑的,java 的 new date()和 getTimeZone()拿到的都是 jvm 的时间,docker 里面是 jvm 的时间是 utc 时间,所有最后考虑的是前端获取当地时间,求得偏移量传到后端,比如现在我拿到的是 08:00
wk1563396689
2020-05-19 11:21:51 +08:00
但是我在实际测试的时候只要 TimeZone.setTimeZone("GMT"+8)就可以转换时区了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/672815

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX