从没有时区名称的时区获取时区偏移值

从没有时区名称的时区获取时区偏移值,第1张

从没有时区名称的时区获取时区偏移

我需要以[+/-] hh:mm的格式保存手机的时区

不,你没有。仅靠偏移量是不够的,您需要存储整个时区名称/
id。例如,我住在奥斯陆,当前偏移量为+02:00,但是在冬季(由于dst),偏移量为+01:00。标准时间和夏令时之间的确切切换取决于您不想探索的因素。

所以我没有存储

+ 02:00
(或者应该是
+ 01:00
?),而是存储
"Europe/Oslo"
在数据库中。现在,我可以使用以下方法恢复完整配置:

TimeZone tz = TimeZone.getTimeZone("Europe/Oslo")

想知道我今天的时区偏移量是多少?

tz.getOffset(new Date().getTime()) / 1000 / 60   //yields +120 minutes

但是在十二月相同:

Calendar christmas = new GregorianCalendar(2012, DECEMBER, 25);tz.getOffset(christmas.getTimeInMillis()) / 1000 / 60   //yields +60 minutes

可以这么说:存储时区名称或ID,并且每次要显示日期时,请检查当前偏移量(今天)是多少,而不是存储固定值。您可以

TimeZone.getAvailableIDs()
用来枚举所有受支持的时区ID。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5350500.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-09
下一篇 2022-12-09

发表评论

登录后才能评论

评论列表(0条)

保存