缺少Microsoft时区

时间:2018-04-01 16:18:32

标签: c# .net timezone

我正在考虑使用Microsoft time zones(利用C#中的System.TimeZoneInfo类)将存储的UTC日期转换为本地时区日期,反之亦然。

但是,我注意到这不是一份全面的清单。例如,它目前只为格陵兰(Greenland Standard Time (GMT-03:00) Greenland)定义了一个时区,其中wikipediatimeanddate都显示有两个主要时区(东部和西部)以及2个较少使用的。

是否有遗失时区的全面清单?

1 个答案:

答案 0 :(得分:11)

Windows时区ID和IANA时区ID之间的转换数据可通过CLDR获得。

查看数据(以及raw IANA data in Github),看起来有问题的IANA时区是:

  • “America / Godthab”(西格陵兰岛)
  • “America / Scoresbysund”(东格陵兰)

那些具有相应的Windows时区ID:

  • “格陵兰标准时间”(西格陵兰)
  • “亚速尔群岛标准时间”(嗯,不是真正的东格陵兰 - 请继续阅读)

显然亚速尔群岛和东格陵兰岛相距很远 - 但事实证明它们遵循相同的时区规则,这可能就是为什么微软将它们集中在一个时区之内。

基本上,如果你想在东格陵兰找到“America / Scoresbysund”的时间,那么“亚速尔群岛标准时间”是你最接近的赌注。