[英]Convert DateTime from UTC to a user provided time zone with C#
說,如果我有一個數據庫列,它以UTC時區保存日期/時間,則可以將它們讀入用C#編寫的ASP.NET Web應用程序中的DateTime對象中。 如何將它們轉換為用戶提供的時區?
假設time
具有Kind = DateTimeKind.Utc
您可以使用ConvertTimeFromUtc
:
TimeZoneInfo.ConvertTimeFromUtc(time, userTimeZone);
TimeZoneInfo.ConvertTime(time, TimeZoneInfo.Utc, userTimeZone);
您可能想要查看有關TimeZoneInfo.ConvertTime
的MSDN文章,以了解該方法的詳細信息。
也許值得一讀所有有關MSDN時區之間的轉換的信息 。 它比您想象的要復雜。
要獲取系統中的時區列表,可以使用TimeZoneInfo.GetSystemTimeZones()。它將為您提供系統所有可用時區的列表。
List<TimeZoneInfo> lstTZI = TimeZoneInfo.GetSystemTimeZones().ToList();
因為它是ReadOnlyCollection。現在您可以將此源與DropDownCntrl綁定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.