TimeZoneInfo.ConvertTime из PST в UTC в AEST - отключено на один час

Я преобразую строку, которая представляет время в Тихоокеанском часовом поясе, который я использую для созданияDateTime объект:

var pacificDateTime = new DateTime(2016, 11, 16, 15, 0, 0) // 11/16/2016 3:00:00 PM

Используя это, я создаюDateTimeOffset потому что в конечном итоге становится немного легче работать.

var pacificTimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
var dateTimeNoKind = new DateTime(pacificDateTime.Ticks, DateTimeKind.Unspecified)
var DateTimeOffsetValue = TimeZoneInfo.ConverTimeToUtc(dateTimeNoKind, pacificTimeZoneInfo) // 11/16/2016 11:00:00 PM

Все идет нормально. Разница между UTC и Pacific заключается в том, что UTC впереди на 8 часов (данное время находится в пределах летнего времени).

Затем я хочу преобразовать UTC в AEST, но здесь возникает проблема:

var australianEasternTimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("AUS Eastern Standard Time");
TimeZoneInfo.ConvertTime(DateTimeOffsetValue, australianEasternTimeZoneInfo) // 11/17/2016 10:00:00 AM

AEST опережает UTC на 10 часов. Я ожидал, что значение будет11/17/2016 09:00:00 AM но вместо этого к моему результату добавляется дополнительный час.

В качестве теста, когда я конвертирую в PST, или по Гринвичу, или по EST по времени UTC, кажется, что они конвертируются обратно правильно.

Я чувствую, что упускаю что-то очевидное или упускаю что-то простое?

Ответы на вопрос(1)

Ваш ответ на вопрос