我正在 C#.net 中工作 - .Net fx 是 2.0,不支持不同时区之间的转换。我已经编写了一个基于 UTC 的调度程序,但它在伦敦的 DTS 周期中给出了 1 小时的错误。我需要一些解决方案,以便我可以通过正确的 DST 调整来获得相对于 UTC 的任何时区的正确时间。
更改为 .NET 3.5 绝对不可能吗?它会让你的生活变得更加轻松。否则,您将不得不使用普通的 TimeZone 和 DaylightSavings 类,并且必须使用 P/Invoke 获取已知时区。
威廉史黛西有一个博客文章中包含一些代码来执行此操作- 但我还没有尝试过,所以不能保证其准确性。 (根据我的经验,他通常相当不错:)如果这些代码对您没有帮助,那么毫无疑问,周围还有类似的代码。
顺便说一句,我相信他使用的 API 无法访问历史数据。换句话说,它将假设 DSTalways十月的第一个星期日(或无论规则是什么)开始,而不是知道规则随着时间的推移而改变。 .NET 3.5 中的 TimeZoneInfo 支持操作系统所支持的历史数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)