我正在努力解决一个奇怪的DateTime转换问题。对于“ PST时区”,1973年开始的日期按预期工作,与UTC(冬季)相差8小时。但是到1973年,相差9个小时!这对我来说很奇怪。也许我想念一些东西。
以下代码:
var time = new DateTime(1972,12,30,8,DateTimeKind.Utc);
var timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("America/Dawson");
var converted = TimeZoneInfo.ConvertTimeFromUtc(time,timeZoneInfo);
Console.WriteLine($"Original UTC: {time}");
Console.WriteLine($"Converted: {converted}");
输出此输出
原始UTC:12/30/72 8:00:00
已转换:12/29/72 11:00:00 PM
此输出的原因是什么,如何避免这种情况?
更新:
从America/Dawson
更改为America/Los_Angeles
可解决此问题。即使两个timeZoneInfo
都指向pacific standard time
。