我在C#.net工作 - .Net fx是2.0,它不支持在不同时区之间进行转换.我已经编写了一个基于UTC的调度程序,但它在伦敦的DTS期间给出了1小时的错误.我需要一些解决方案,以便我可以在相对于UTC的任何时区中使用正确的DST调整来获取正确的时间.
是否完全无法改变.NET 3.5?它会让你的生活变得更加轻松.否则,你会遇到普通的TimeZone和DaylightSavings类,以及必须使用P/Invoke获取已知的时区.
William Stacey有一篇博文,里面有一些代码可以做到这一点 - 但我还没有尝试过,所以不能保证它的准确性.(根据我的经验,他通常很不错:)毫无疑问,如果那个代码没有帮助你的代码.
我相信他使用的API无法访问历史数据,顺便说一句.换句话说,它将假设DST 总是在10月的第一个星期日(或者无论规则是什么)开始,而不是知道规则随着时间的推移而改变..NET 3.5中的TimeZoneInfo支持操作系统所在的历史数据.