странное поведение C#

Oct 29, 2014 15:18

Неожиданно выясняется, что Microsoft предполагает, что 01/01/2014 года в два часа ночи в России перевели часы. А весь 2013, да и 2012 год жили в UTC+03

TimeZoneInfo.Local.GetUtcOffset(DateTime.ParseExact("2013-12-31T00:00:00", "yyyy-MM-ddTHH:mm:ss", System.Globalization.CultureInfo.InvariantCulture))
возвращает 03:00:00. для всего, что раньше - также.
подобное поведение заканчивается в 2011 году, где Медведев отменил перевод времени, и в предыдущие года функция работает корректно.

TimeZoneInfo.Local.GetUtcOffset(DateTime.ParseExact("2014-01-01T01:00:00", "yyyy-MM-
ddTHH:mm:ss", System.Globalization.CultureInfo.InvariantCulture))
также возвращает 03:00:00.

а вот
TimeZoneInfo.Local.GetUtcOffset(DateTime.ParseExact("2014-01-01T02:00:00", "yyyy-MM-ddTHH:mm:ss", System.Globalization.CultureInfo.InvariantCulture))
возвращает уже 04:00:00.

Возможно, я что-то не понимаю или делаю неправильно - тогда буду благодарен тому, кто поясни мне неправильность моих действий/ожиданий
Previous post Next post
Up