Nous développons une application C # pour un client de service Web. Cela fonctionnera sur les PC Windows XP.
L'un des champs renvoyés par le service Web est un champ DateTime. Le serveur renvoie un champ au format GMT c'est-à-dire avec un "Z" à la fin.
Cependant, nous avons constaté que .NET semble faire une sorte de conversion implicite et le temps était toujours de 12 heures.
L'exemple de code suivant résout ce problème dans une certaine mesure en ce que la différence de 12 heures a disparu, mais il ne prend pas en compte l'heure d'été NZ.
CultureInfo ci = new CultureInfo("en-NZ");
string date = "Web service date".ToString("R", ci);
DateTime convertedDate = DateTime.Parse(date);
Selon ce site date :
Décalage UTC / GMT
Fuseau horaire standard: UTC / GMT +12 heures
Heure d'été: +1 heure
Décalage horaire actuel: UTC / GMT +13 heures
Comment ajustons-nous pour l'heure supplémentaire? Cela peut-il être fait par programme ou s'agit-il d'une sorte de paramètre sur les PC?
Z
heure se réfère à UTC, pas à GMT. Les deux peuvent différer jusqu'à 0,9 seconde.