Мы разрабатываем приложение С# для клиента веб-сервиса. Это будет работать на ПК с Windows XP.
Одним из полей, возвращаемых веб-службой, является поле 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);
По этот сайт даты:
UTC/GMT Offset
Стандартный часовой пояс: UTC/GMT +12 часов
Переход на летнее время: +1 час
Текущее смещение часового пояса: UTC/GMT +13 часов
Как мы настраиваем дополнительный час? Можно ли это сделать программно или это какая-то настройка на ПК?