Мы разрабатываем приложение C# для клиента веб-сервиса. Это будет работать на ПК с Windows XP.Конвертировать UTC/GMT по местному времени
Одним из полей, возвращаемых веб-службой, является поле DateTime. Сервер возвращает поле в формате GMT, то есть с «Z» в конце.
Однако мы обнаружили, что .NET, похоже, выполняет какое-то неявное преобразование, и время было всегда 12 часов.
Следующий пример кода разрешает это в некоторой степени тем, что разница в 12 часов прошла, но не учитывает переход на летнее время NZ.
CultureInfo ci = new CultureInfo("en-NZ");
string date = "Web service date".ToString("R", ci);
DateTime convertedDate = DateTime.Parse(date);
В соответствии с this date site:
UTC/GMT Смещение
Стандартный часовой пояс: UTC/GMT +12 часов
Переход на летнее время: +1 час
Текущее смещение часового пояса : UTC/GMT +13 часов
Как настроить дополнительный час? Можно ли это сделать программно или это какая-то настройка на ПК?
`время Z` относится к UTC, а не по Гринвичу. Эти два могут отличаться на 0,9 секунды. – mc0e 2017-02-27 04:30:07