Estamos desarrollando una aplicación C# para un cliente de servicio web. Esto se ejecutará en PC con Windows XP.Convertir hora UTC/GMT a hora local
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, ya 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ún this date site:
UTC/GMT Offset
Hora estándar: UTC/GMT +12 horas
Horario de verano: 1 hora zona
Hora local actual : UTC/GMT +13 horas
¿Cómo nos ajustamos para la hora extra? ¿Se puede hacer esto de forma programática o se trata de algún tipo de ajuste en la PC?
el 'tiempo Z' refiere a UTC, no GMT. Los dos pueden diferir en hasta 0.9 segundos. – mc0e