Convertir la hora UTC / GMT a la hora local

Estamos desarrollando una aplicación de C # para un cliente de servicio web. Esto se ejecutará en PC con Windows XP.

Uno de los campos devueltos por el servicio web es un campo DateTime. El servidor devuelve un campo en formato GMT, es decir, con una "Z" al final.

Sin embargo, encontramos que .NET parece hacer algún tipo de conversión implícita y el tiempo siempre fue de 12 horas.

El siguiente ejemplo de código resuelve esto en cierta medida en que la diferencia de 12 horas se ha ido pero no tiene en cuenta el horario de verano de Nueva Zelanda.

CultureInfo ci = new CultureInfo("en-NZ");
string date = "Web service date".ToString("R", ci);
DateTime convertedDate = DateTime.Parse(date);            

Segúnesta fecha del sitio:

Desplazamiento UTC / GMT

Zona horaria estándar: UTC / GMT +12 horas.
Horario de verano: +1 hora
Desplazamiento de la zona horaria actual:UTC / GMT +13 horas

¿Cómo nos ajustamos para la hora extra? ¿Se puede hacer esto mediante programación o es una configuración de PC?

Respuestas a la pregunta(11)

Su respuesta a la pregunta