Wir entwickeln eine C # -Anwendung für einen Webdienst-Client. Dies läuft auf Windows XP-PCs.
Eines der vom Webdienst zurückgegebenen Felder ist ein DateTime-Feld. Der Server gibt ein Feld im GMT-Format zurück, dh mit einem "Z" am Ende.
Wir haben jedoch festgestellt, dass .NET eine implizite Konvertierung durchzuführen scheint und die Zeit immer 12 Stunden abgelaufen ist.
Das folgende Codebeispiel behebt dies bis zu einem gewissen Grad, indem der Unterschied von 12 Stunden weg ist, die Sommerzeit in Neuseeland jedoch nicht berücksichtigt wird.
CultureInfo ci = new CultureInfo("en-NZ");
string date = "Web service date".ToString("R", ci);
DateTime convertedDate = DateTime.Parse(date);
Ab diesem Datum Website :
UTC / GMT-Offset
Standardzeitzone: UTC / GMT +12 Stunden
Sommerzeit: +1 Stunde
Aktueller Zeitzonenversatz: UTC / GMT +13 Stunden
Wie stellen wir uns auf die zusätzliche Stunde ein? Kann dies programmgesteuert erfolgen oder handelt es sich um eine Einstellung auf dem PC?
Z
Zeit bezieht sich auf UTC, nicht auf GMT. Die beiden können sich um bis zu 0,9 Sekunden unterscheiden.