似乎我在WinApi中发现了一个错误。当我在Visual Studio 2015中的Debug中使用TimeZoneInfo.Local.DisplayName时,它会向我返回正确的变体,例如"(UTC + 02:00)赫尔辛基,基辅,里加,索菲亚,塔林,维尔纽斯"。在发布模式(.net native)中,同样的api返回我" FLE标准时间"。非常了解如何以其他方式获取时区信息,或者如何解决此问题。
答案 0 :(得分:2)
您很可能错过了代码中的某些内容。我之前犯过的一个错误很容易让DisplayName
与DaylightName
混淆:
static void Main(string[] args)
{
var timeZoneName = TimeZoneInfo.Local.DaylightName; //FLE Standard Time
var displayName = TimeZoneInfo.Local.DisplayName; //(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius
}
作为参考,您可以查看Time Zone IDs