首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >时区问题: Etc/GMT-14等于GMT+14。为什么?

时区问题: Etc/GMT-14等于GMT+14。为什么?
EN

Stack Overflow用户
提问于 2022-11-22 11:49:02
回答 1查看 22关注 0票数 1

我通过以下代码枚举了Android 12上的所有可用时区:

代码语言:javascript
复制
String[] ids = TimeZone.getAvailableIDs();

发现in从"Etc/GMT+12“到"Etc/GMT-14”,但实际上它们等于"GMT-12“和"GMT+14”。例如,"Etc/GMT-7“等于"GMT+7”。

为什么Android会使用否定的名字?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-22 14:04:45

这些名字是由IANA时区数据库提供的,它是安卓时区实现的基础。

数据库有引用这些名称/定义的以下评论

与区域名称中的POSIX TZ设置保持一致,即使这与许多人期望的相反。POSIX在格林威治西部有积极的迹象,但许多人期望格林威治以东有积极的迹象。例如,TZ='Etc/GMT+4‘使用缩写"-04“,对应于UT后4小时(即格林威治以西),尽管许多人预计这意味着比UT早4小时(即格林威治以东)。

所以IANA这样做,因为POSIX是这样做的。

偏移 ..。 分钟(mm)和秒(ss)是可选的。小时(hh)须予规定,并可为一位数字。应要求使用以下的偏移量。如果在dst之后没有偏移,则假定替代时间比标准时间提前一小时。可以使用一个或多个数字;该值总是被解释为十进制数。时间在0到24之间,分钟(和秒)-if在0到59之间。未指定在此范围之外使用值的结果。如果前面有“-”,则时区应位于主子午线以东;否则,时区应为西(可选前面的“+”)。

(重点由我补充)

请注意,POSIX并不是自洽的。strftime

Z 替换为国际标准化组织8601:2000标准格式( +hhmm或-hhmm )中来自UTC的偏移量,如果不确定时区,则不使用字符。例如,"-0430“是指在格林威治以西的世界协调时间( UTC )之后4小时30分钟。

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

https://stackoverflow.com/questions/74532154

复制
相关文章

相似问题

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