如何解决时区缩写
客户希望查看Windows时区,这里是https://support.microsoft.com/en-us/help/973627/microsoft-time-zone-index-values Time
列中的Windows时区,但使用UTC而不是GMT。
并且还想看到缩写。但是我找不到任何正式的Windows时区缩写列表。我发现是IANA的缩写。
我们打算将Windows时区转换为IANA时区,以与时间一起工作。
但是问题是IANA缩写= Windows时区缩写吗? 如果没有,我在哪里可以找到Windows缩写词的规则列表?
解决方法
几件事:
-
您指向的列表不是Microsoft Windows时区的正式列表。它是Windows Embedded 1.1。中一个非常旧的静态列表的副本,该列表早已被弃用。 Microsoft网站上目前没有任何Windows时区的有效维护列表。
-
要获取Windows时区列表,请在命令行上调用
TZUTIL /L
。它将返回系统上安装的每个时区的ID和显示名称。 -
如果您查看the CLDR zone mapping file,将会看到许多Windows区域映射到多个IANA区域。如果仅将Windows区域映射到
001
“黄金区域”,则可能最终选择了不适用于该用户的IANA缩写。因此,如果采用您描述的方法(转换为IANA并使用IANA的缩写),在进行映射时,请务必同时考虑国家/地区代码。
也:
-
在任何地方都没有正式的时区缩写列表,因为时区缩写没有标准化。我们可能会用英语使用的许多缩写不一定适用于讲非英语的人,而且很多时区根本没有缩写。
-
即使是英文,许多时区缩写也是矛盾或含糊的。
有问题的时区缩写的一些示例:
-
CST
是指中部标准时间,古巴标准时间还是中国标准时间? -
IST
是指印度标准时间,以色列标准时间还是爱尔兰标准时间? - 夏威夷州应该使用
HST
还是HAST
? - 在加拿大魁北克,应该使用
HNE
(Heure Normale de l'Est)代替EST
(东部标准时间),因为它的官方语言是法语? - 白俄罗斯明斯克的时区缩写是什么?您可能会想到
MSK
,但这对某些人来说是令人反感的,因为该缩写在俄罗斯莫斯科也很常用。白俄罗斯在整个国家/地区都设有一个时区,而且那里不会说英语。 IANA的缩写为数字UTC偏移量+03
(自2011年中开始)。
由于上述问题...
-
没有Windows时区的正式时区缩写列表。 Windows不使用它们。
-
您可能会在CLDR data中找到 some 时区缩写,并且使用各种库和API进行公开,但它们很少被填充在数据集中。 CLDR尚未可靠地收集或维护时区缩写。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。