为何Etc/GMT-14等价于GMT+14?Android时区命名疑问
Android中Etc/GMT时区ID符号反向的原因
这并非Android的特殊设计,而是遵循了**IANA时区数据库(tz数据库)**的标准命名规则,Android的时区系统基于这套通用数据库实现,因此沿用了该逻辑:
- 命名逻辑以格林威治为基准,向西偏移的时区用
+标记,向东偏移用-标记,和日常口语里的GMT±X表述逻辑相反:- 比如
Etc/GMT+7代表比格林威治时间晚7小时(西七区),对应日常说的GMT-7 Etc/GMT-7代表比格林威治时间早7小时(东七区),对应日常说的GMT+7
- 比如
- 这种规则起源于早期航海、天文领域的习惯:当时以格林威治为零点,向西计算的经度值为正,时区偏移和经度偏移方向对应,因此用
+表示向西偏移的时区。
而我们日常使用的GMT±X是从用户视角出发,描述本地时间与GMT的差值——早于GMT用+,晚于用-,和Etc/GMT的命名逻辑角度不同,才造成了符号相反的错觉。
内容的提问来源于stack exchange,提问作者Style-7
相关产品推荐
相关产品推荐

