Stiamo sviluppando un'applicazione C # per un client di servizi Web. Questo funzionerà su PC Windows XP.
Uno dei campi restituiti dal servizio Web è un campo DateTime. Il server restituisce un campo in formato GMT, ovvero con una "Z" alla fine.
Tuttavia, abbiamo scoperto che .NET sembra fare una sorta di conversione implicita e il tempo era sempre di 12 ore.
Il seguente esempio di codice risolve questo in una certa misura in quanto la differenza di 12 ore è andata ma non tiene conto dell'ora legale della Nuova Zelanda.
CultureInfo ci = new CultureInfo("en-NZ");
string date = "Web service date".ToString("R", ci);
DateTime convertedDate = DateTime.Parse(date);
Secondo questa data sito :
Offset UTC / GMT
Fuso orario standard: UTC / GMT +12 ore
Ora legale: +1 ora
Offset fuso orario corrente: UTC / GMT +13 ore
Come ci adattiamo all'ora extra? Questo può essere fatto a livello di codice o è una sorta di impostazione sul PC?
Z
ora fa riferimento a UTC, non GMT. I due possono differire fino a 0,9 secondi.