Неверное смещение часового пояса - PullRequest
0 голосов
/ 24 марта 2019

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

Я уверен, что это что-то действительно простое, но я не могу понять, где я иду не так.

1 Ответ

0 голосов
/ 24 марта 2019

Я не учел, что переход на летнее время начинается с даты в примере. Спасибо sellotape за указание на это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...