考虑日光,计算不同时区的2个不同时间之间的时差

时间:2014-06-16 11:22:22

标签: c# .net datetime timezone

考虑我有两次针对不同的情况:

"2013/02/11 13:20:44" (Tehran possibly UTC+3:30 or UTC+2:30 due to day light saving)
"2013/02/11 15:20:44" (Abu Dhabi possibly UTC+4:00 or UTC+3:00 due to day light saving)

问题1:如何准确转换这些时间to Utc

我想提一下,节省日照不是固定的信息,可能会因时间和国家而异。

例如,2010年,由于某些政治原因,伊朗没有节省日光。

问题2:这些信息是否存在一些可信赖的地方或网络服务?

2 个答案:

答案 0 :(得分:3)

对于.net应用程序时区信息更新与Windows更新,因此如果您的服务器始终有最新的更新,您将不会遇到时区问题。

如果您需要转换时间,可以使用TimeZoneInfo class:

TimeZoneInfo.ConvertTime(new DateTime(2005, 6, 1), TimeZoneInfo.FindSystemTimeZoneById("Iran Standard Time"), TimeZoneInfo.Utc)

如果需要,您可以获得时区的AdjestmentRules:

TimeZoneInfo.FindSystemTimeZoneById("Iran Standard Time").GetAdjustmentRules();

答案 1 :(得分:0)

您可以尝试使用Noda Time

可以找到更详细的信息in this thread