首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TimeZoneInfo.DisplayName返回incorect值[UWP]

TimeZoneInfo.DisplayName返回incorect值[UWP]
EN

Stack Overflow用户
提问于 2018-01-10 16:37:25
回答 1查看 206关注 0票数 4

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

代码语言:javascript
复制
IEnumerable<string> TimeZones = TimeZoneInfo.GetSystemTimeZones().Select(_ => _.DisplayName);

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

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

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

  • 世界协调时-11
  • 阿留申标准时间
  • 夏威夷标准时间
  • 马克萨斯标准时间
  • ..。

“用.Net本地工具链编译”是否有可能得到预期的行为?

EN

回答 1

Stack Overflow用户

发布于 2018-01-15 04:09:07

谢谢你报道这个问题。

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

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

代码语言:javascript
复制
        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;

            }
        }

谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48192111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档