C# 中時區的查訊和轉換
阿新 • • 發佈:2019-02-06
我們會需要把 local 時間轉換成某一時區的時間, 這裡用.Net 的內建方法來實現:
具體的時區列表和資訊說明可以參考微軟的文擋///UTC 時間 DateTime dt = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now, TimeZoneInfo.Local); Console.WriteLine(dt.ToString()); DateTime dt2 = DateTime.Now; Console.WriteLine(dt2.ToString()); //美國加拿大時區 var dt4 = TimeZoneInfo.ConvertTimeFromUtc(dt, TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")); Console.WriteLine(dt4.ToString()); //列舉所有支援的時區列表 var list = TimeZoneInfo.GetSystemTimeZones(); foreach (TimeZoneInfo tzi in list) { Console.WriteLine(tzi.Id); } DateTime eastern = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "Eastern Standard Time"); dt.ToUniversalTime(); var currentTimeZone = TimeZone.CurrentTimeZone; //簡單的轉換 DateTime currentUSTime = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now.ToUniversalTime(), "Eastern Standard Time");