您好
当我使用“插入日期/时间”图标插入日期时,似乎奥斯陆(GMT+1)和 ETC/GMT+1 之间存在冲突。这是一个错误,还是 GMT+1 和 ETC/GMT+1 之间实际上存在差异?
这是一个实时示例:Monday, November 8, 2021 7:00 PM
我以为时间应该是相同的?
您好
当我使用“插入日期/时间”图标插入日期时,似乎奥斯陆(GMT+1)和 ETC/GMT+1 之间存在冲突。这是一个错误,还是 GMT+1 和 ETC/GMT+1 之间实际上存在差异?
这是一个实时示例:Monday, November 8, 2021 7:00 PM
我担心这里的原因很复杂——你可以在 Moment Timezone | Docs 阅读相关内容。
POSIX 兼容性要求偏移量被反转。因此,Etc/GMT-X 的偏移量将是
+X,而 Etc/GMT+X 的偏移量将是-X。这是 IANA 的 时区数据库 的结果,而不是 Moment.js 的任意选择。因此,使用基于本地的标识符比使用固定偏移量的标识符更可取。
因此,在 IANA 的时区数据库中,Europe/Oslo 目前等同于 Etc/GMT-1。
Monday, November 8, 2021 7:00 PM
我想知道我们是否可以/应该引入我们自己的 UTC+1、UTC+2 时区别名(不带 Etc/ 前缀)。
(抄送 @j.jaffeux)
如果很简单的话,我可能会建议也移除 Etc 时区。除了某些 POSIX / 与时间相关的 Discourse 实例之外,这些时区对用户来说基本上是无关紧要的,并且如果用户想要定位一个偏移量而不是一个地区,它们常常会令人困惑。它们会出现在列表中的 GMT/UTC 之前,而普通用户不知道 Etc 前缀是什么意思。
如果不能移除,那么在显示插入的时间时应该包含该前缀。甚至可能需要一些指示表明它可能不是用户期望的,例如 Etc/GMT+1 (= GMT-1)
@david 感谢您的回复和参考!根据我目前的解决方案推断,将避免使用 ETC/GMT,而是使用城市名称。