我试图弄清时区问题。我位于位于gmt + 1的挪威,并且我正在尝试将UTC时间转换为当地时间。据我了解,这意味着本地时间应为utc + 1小时。因此,UTC 12:00应该变成当地的13:00。由于某种原因,我不断获得+ 2小时的服务。
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("nb-NO");
var zone = System.TimeZoneInfo.Local; // Zone = {(UTC+01:00) Amsterdam, Berlin, Bern, Oslo, Roma, Wien}
DateTime time = DateTime.Parse("2019-04-01T00:00:00+00:00"); // time = {01.04.2019 02:00:00} Why is this not 01:00:00 when timzone = utc+1?
var offset = zone.GetUtcOffset(time); // Offset = {02:00:00}
DateTime timeWithoutUtc = DateTime.Parse("2019-04-01T00:00:00");
var t2 = timeWithoutUtc.ToLocalTime(); // {01.04.2019 02:00:00}
DateTimeOffset timeOffsetWithUtc = DateTimeOffset.Parse("2019-04-01T00:00:00+00:00");
var t3 = timeOffsetWithUtc.ToLocalTime(); // {01.04.2019 02:00:00 +02:00}
我确信这确实是最基本的东西,但是我似乎无法理解我要去哪里。
答案 0 :(得分:0)
我不认为夏令时从示例中的日期开始。感谢sellotape指出这一点。