gpt4 book ai didi

c# - TimeZoneInfo.DisplayName 返回不正确的值 [UWP]

转载 作者:行者123 更新时间:2023-11-30 12:55:33 25 4
gpt4 key购买 nike

好吧,这很奇怪,但我已经创建了简单的 UWP 项目并在代码中添加了简单的一行:

IEnumerable<string> TimeZones = TimeZoneInfo.GetSystemTimeZones().Select(_ => _.DisplayName);

当我执行程序时,我得到了预期的结果:

  • (UTC-11:00) 协调世界时 11",
  • (UTC-10:00)阿留申群岛",
  • (UTC-10:00) 夏威夷",
  • (UTC-09:30) 马克萨斯群岛",
  • ...

但是如果我设置标志“使用 .Net Native 工具链编译”,我将得到:

  • UTC-11
  • 阿留申标准时间
  • 夏威夷标准时间
  • 马克萨斯标准时间
  • ...

是否有可能通过“使用 .Net Native 工具链编译” 以某种方式获得预期的行为?

最佳答案

感谢您报告此问题。

似乎在启用 .Net Native 工具链时,DisplayName 属性将返回与 StandardName 属性相同的值。我已将此问题记录在我们的系统中。

作为解决方法,您可以将 UTC 偏移值与 StandardName 组合,如下所示:

        var TimeZoneList=TimeZoneInfo.GetSystemTimeZones();
foreach(var i in TimeZoneList)
{
TimeSpan ts = i.GetUtcOffset(DateTime.Now);

if (ts.ToString().Contains("-"))
{
string s = "(UTC" + ts.ToString() + ")" + i.StandardName;

}
else
{
string s = "(UTC+" + ts.ToString() + ")" + i.StandardName;

}
}

谢谢。

关于c# - TimeZoneInfo.DisplayName 返回不正确的值 [UWP],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48192111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com