C# 支持全球不同的时区 ID。请在下面的链接中找到 C# 支持的时区列表:
https://msdn.microsoft.com/en-us/library/gg154758.aspx
时区 ID 在 C# 库函数中用于跨时区转换时间。
[例如 TimeZoneInfo.ConvertTimeBySystemTimeZoneId("Hawaiian Standard Time")
]
同样,我想要支持AMERICA/MIQUELON,它不在上面链接中提供的msdn列表中。
有人可以为此特定时区提供解决方法吗?
时区标识符(如 "America/Miquelon"
和您列出的其他标识符(在编辑问题之前)来自 IANA 时区数据库。 您可以在时区标签维基和维基百科上阅读更多信息。
请注意,它们通常以混合大小写形式呈现,而不是全部大写。
在 .NET 中处理这些内容的最简单和最佳方法是通过 Noda 时间库。
例如:
DateTimeZone tz = DateTimeZoneProviders.Tzdb["America/Miquelon"];
Instant now = SystemClock.Instance.Now;
ZonedDateTime converted = now.InZone(tz);