我有一个来自数据库记录的 UTC 日期时间值。我还有一个用户指定的时区(TimeZoneInfo 的实例)。如何将该 UTC 日期时间转换为用户的本地时区?另外,如何确定用户指定的时区当前是否遵守夏令时?我正在使用.NET 3.5。
谢谢,
标记
最好的方法就是使用TimeZoneInfo.ConvertTimeFromUtc http://msdn.microsoft.com/en-us/library/system.timezoneinfo.converttimefromutc.aspx.
// you said you had these already
DateTime utc = new DateTime(2014, 6, 4, 12, 34, 0);
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
// it's a simple one-liner
DateTime pacific = TimeZoneInfo.ConvertTimeFromUtc(utc, tzi);
唯一的问题是传入的DateTime
值可能没有DateTimeKind.Local
种类。它必须是Utc
, or Unspecified
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)