当前位置:  开发笔记 > 编程语言 > 正文

在WPF/C#中显示时区.发现夏令时抵消

如何解决《在WPF/C#中显示时区.发现夏令时抵消》经验,为你挑选了1个好方法。

我无法理解系统注册表如何帮助我将DateTime对象转换为相应的TimeZone.我有一个例子,我一直在尝试进行逆向工程,但我根本不能按照夏令时来跟踪UTCtime偏移的一个关键步骤.

我正在使用.NET 3.5(感谢上帝),但它仍然令我困惑.

谢谢

编辑:附加信息:此问题用于WPF应用程序环境.我在下面留下的代码片段将答案示例更进一步,以获得我正在寻找的内容.



1> discorax..:

这是我在我的WPF应用程序中使用的C#中的代码片段.这将为您提供您提供的时区ID的当前时间(根据夏令时调整).

// _timeZoneId is the String value found in the System Registry.
// You can look up the list of TimeZones on your system using this:
// ReadOnlyCollection current = TimeZoneInfo.GetSystemTimeZones();
// As long as your _timeZoneId string is in the registry 
// the _now DateTime object will contain
// the current time (adjusted for Daylight Savings Time) for that Time Zone.
string _timeZoneId = "Pacific Standard Time";
DateTime startTime = DateTime.UtcNow;
TimeZoneInfo tst = TimeZoneInfo.FindSystemTimeZoneById(_timeZoneId);
_now = TimeZoneInfo.ConvertTime(startTime, TimeZoneInfo.Utc, tst);

这是我最终得到的代码snippit.谢谢您的帮助.

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有