Estamos desarrollando una aplicación 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 hasta cierto punto porque la diferencia de 12 horas se ha ido pero no permite 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ún este sitio de fecha :
Compensación UTC / GMT
Zona horaria estándar: UTC / GMT +12 horas
Horario de verano: +1 hora
Compensación de zona horaria actual: UTC / GMT +13 horas
¿Cómo nos ajustamos para la hora extra? ¿Se puede hacer esto mediante programación o es algún tipo de configuración en las PC?
Z
tiempo se refiere a UTC, no a GMT. Los dos pueden diferir en hasta 0.9 segundos.