如何在C#中的任何其他时区将UTC时间转换为时间

时间:2008-10-11 06:00:42

标签: c# time timezone

我正在使用C#.net - .Net fx是2.0,它不支持在不同时区之间进行转换。我已经编写了一个基于UTC的调度程序,但它在伦敦的DTS期间给出了1小时的错误。我需要一些解决方案,以便我可以在相对于UTC的任何时区中使用正确的DST调整来获取正确的时间。

1 个答案:

答案 0 :(得分:10)

完全无法改变.NET 3.5?它会让你的生活变得更加轻松。否则,你会遇到普通的TimeZone和DaylightSavings类,以及必须使用P / Invoke获取已知的时区。

威廉·斯泰西有一个blog post with some code to do this - 但我没有尝试过,所以不能保证它的准确性。 (根据我的经验,他通常很不错:)毫无疑问,如果那个代码对你不起作用,会有类似的代码。

我相信他使用的API无法访问历史数据,顺便说一句。换句话说,它将假设DST 始终在10月的第一个星期日(或任何规则)开始,而不是知道规则随时间发生了变化。 .NET 3.5中的TimeZoneInfo支持操作系统的历史数据。