Я пытаюсь разобраться с проблемой часового пояса.Я нахожусь в Норвегии, где gmt + 1, и я пытаюсь перевести время UTC в местное время.Насколько я понимаю, это означает, что местное время должно быть до + 1 часа.Таким образом, 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}
Я уверен, что это что-то действительно простое, но я не могу понять, где я иду не так.