我在將時間從倫敦(UTC/UTC + 1)轉換爲美國東部時間(UTC-5/UTC-4)時遇到問題。TimeZoneInfo錯誤?
隨着在其UTC + 1個相在倫敦機中運行的代碼,
TimeZoneInfo.ConvertTimeFromUtc(DateTime.Now.ToUniversalTime(), TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"));
這將正確地轉換到十四時25分○○秒從6點25分00秒UTC + 1至UTC-7
但是,如果時區是美國東部
TimeZoneInfo.ConvertTimeFromUtc(DateTime.Now.ToUniversalTime(), TimeZoneInfo.FindSystemTimeZoneById("US Eastern Standard Time"));
這將錯誤轉換14點25分00秒至8時25分○○秒從UTC + 1爲UTC-4
此外,
TimeZoneInfo.FindSystemTimeZoneById("US Eastern Standard Time").SupportsDaylightSavingTime
返回false而
TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time").SupportsDaylightSavingTime
返回true。
這是在.NET 3.5下運行的。有什麼想法嗎?