【发布时间】:2014-01-04 23:03:32
【问题描述】:
我正在尝试在我的 .NET 应用程序中获取本地莫斯科时间。
这是我走了多远:
private static Dictionary<TimeZoneEnum, string> timeZoneDict = new Dictionary<TimeZoneEnum, string>()
{
{TimeZoneEnum.RussiaStandardTime, "Russian Standard Time"}
};
public static DateTime GetDateTimeNowForTimeZone(TimeZoneEnum timezone)
{
DateTime result = TimeZoneInfo.ConvertTime(DateTime.UtcNow, TimeZoneInfo.FindSystemTimeZoneById(timeZoneDict[timezone]));
return result;
}
方法 GetDateTimeNowForTimeZone 给了我 GMT+3 时间,但现在在俄罗斯有 GMT+4 时间。 有没有办法在 .net 框架中为这个问题获得强大的解决方案?
【问题讨论】:
-
根据这个(msdn.microsoft.com/en-us/library/…)是正确的
-
也许你想检查
IsDaylightSavingTime并相应地增加一小时 msdn.microsoft.com/en-us/library/bb460642(v=vs.110).aspx -
直奔源头。我会找到一个不会在时区之间翻转的更强大的计时系统。
-
刚看了一下,好像俄罗斯最近放弃了夏令时,这可能是错误的原因。
-
:D 好吧,我支持你。无论如何,大自然最近正在变得疯狂,所以我认为这是一个有效的观点。