比如说,如果我有一个数据库列在 UTC 时区保存日期/时间,我可以将它们读入我用 C# 编写的 ASP.NET Web 应用程序中的 DateTime 对象中。如何将它们转换为用户提供的时区?
问问题
4656 次
2 回答
6
这假设time
有一个Kind = DateTimeKind.Utc
你可以使用ConvertTimeFromUtc
:
TimeZoneInfo.ConvertTimeFromUtc(time, userTimeZone);
TimeZoneInfo.ConvertTime(time, TimeZoneInfo.Utc, userTimeZone);
您可能需要查看TimeZoneInfo.ConvertTime
有关该方法的详细信息的 MSDN 文章。
在 MSDN 上,关于时区转换的所有内容可能也值得一读。它比你想象的要复杂。
于 2012-07-24T02:59:36.597 回答
2
要获取系统中的时区列表,您可以使用 TimeZoneInfo.GetSystemTimeZones() 。它将为您提供系统中所有可用时区的列表。
List<TimeZoneInfo> lstTZI = TimeZoneInfo.GetSystemTimeZones().ToList();
因为它是 ReadOnlyCollection 。现在您可以将此源与 DropDownCntrl 绑定。
于 2012-07-24T03:31:44.897 回答