将 UTC 日期时间转换为另一个时区

2024-03-07

我有一个来自数据库记录的 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(使用前将#替换为@)

将 UTC 日期时间转换为另一个时区 的相关文章

随机推荐