我正在考虑使用 Microsoft time zones (通过利用 C# 中的 System.TimeZoneInfo 类)将存储的 UTC 日期转换为本地时区日期,反之亦然。
但是,我注意到这不是一个完整的列表。例如,它目前只有一个为格陵兰定义的时区(Greenland Standard Time (GMT-03:00) Greenland
),其中 wikipedia和 timeanddate两者都显示有 2 个主要时区在使用(东部和西部)以及 2 个较少使用的时区。
是否有缺失时区的完整列表?
最佳答案
Windows时区ID与IANA的转换数据时区 ID 可通过 CLDR 获得.
查看数据(以及 raw IANA data in Github ),有问题的 IANA 时区似乎是:
- "America/Godthab"(西格陵兰)
- “美国/Scoresbysund”(东格陵兰)
它们具有相应的 Windows 时区 ID:
- “格陵兰标准时间”(西格陵兰)
- “亚速尔标准时间”(嗯,不是真正的东格陵兰 - 继续阅读)
显然亚速尔群岛和东格陵兰岛相距很远 - 但事实证明它们遵循相同的时区规则,这大概就是微软将它们归为一个时区的原因。
基本上,如果您想查找“America/Scoresbysund”在东格陵兰的时间,那么“Azores Standard Time”是您最接近的选择。
关于c# - 缺少 Microsoft 时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49600085/