Estamos desenvolvendo um aplicativo C # para um cliente de serviço da web. Isso será executado nos PCs com Windows XP.
Um dos campos retornados pelo serviço da web é um campo DateTime. O servidor retorna um campo no formato GMT, ou seja, com um "Z" no final.
No entanto, descobrimos que o .NET parece fazer algum tipo de conversão implícita e o tempo estava sempre em 12 horas.
O exemplo de código a seguir resolve isso em certa medida, pois a diferença de 12 horas se foi, mas não leva em consideração o horário de verão da Nova Zelândia.
CultureInfo ci = new CultureInfo("en-NZ");
string date = "Web service date".ToString("R", ci);
DateTime convertedDate = DateTime.Parse(date);
De acordo com o site desta data :
Deslocamento UTC / GMT
Fuso horário padrão: UTC / GMT +12 horas
Horário de verão: +1 hora
Deslocamento atual do fuso horário: UTC / GMT +13 horas
Como nos ajustamos para a hora extra? Isso pode ser feito programaticamente ou é algum tipo de configuração nos PCs?
Z
horário refere-se ao UTC, não ao GMT. Os dois podem diferir em até 0,9 segundos.