将时间转换为指定的国家/地区时区

时间:2012-02-16 21:56:33

标签: c# datetime

我在服务器上托管了一个网站,该网站的时区与我所在的国家/地区不同,

如何将服务器时间转换为我当地时间并考虑夏令时

4 个答案:

答案 0 :(得分:3)

DateTimeOffset newTime = TimeZoneInfo.ConvertTime(DateTimeOffset.UtcNow, TimeZoneInfo.FindSystemTimeZoneById("AppTimeZone"));

答案 1 :(得分:2)

公然接受其他SO问题的答案:

在.NET 3.5中,有TimeZoneInfo,它在这个领域提供了很多功能; 2.0SP1有DateTimeOffset,但这个限制更多。

请参阅以下SO问题:

Get DateTime For Another Time Zone Regardless of Local Time Zone

Convert UTC DateTime to another Time Zone

或者只是搜索SO以获取大量答案,包括考虑Daylight Savings的一些答案。

答案 2 :(得分:1)

您可以使用TimeZone类将服务器的本地时间转换为UTC,然后从UTC转换为您的(或特定网站用户)时区。

答案 3 :(得分:1)

你看过TimeZoneInfo课吗?您应该能够在保持DST的同时,通过那里转换为从本地到服务器的时间。

Jon Skeet等也有一个开源时区实施。打电话给Noda-Time