c# - 缺少 Microsoft 时区

标签 c# .net timezone

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

但是,我注意到这不是一个完整的列表。例如,它目前只有一个为格陵兰定义的时区(Greenland Standard Time (GMT-03:00) Greenland),其中 wikipediatimeanddate两者都显示有 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/

相关文章:

c# - Java通过反射创建通用Arraylist

python - 在 Python 中使用 Microsoft.Office.Interop.Excel 和 CLR 打印 Excel 文件?

c# - 将 IsEnabled 绑定(bind)到父 ViewModel 而不是 UserControl ViewModel

linux - 如果没有/etc/timezone 文件或/usr/share/zoneinfo,我如何在 Linux 中设置时区

javascript - 如何从 Javascript 中的字符串获取时区偏移量

c# - MVC 绑定(bind)产品到订单

c# - 在另一个线程中动态添加控件到 WinForms

c# - 加密随机唯一字符串

.net - nunit 是如何工作的?

ruby-on-rails - 在 UTC 中保存日期时间有时不准确