Ми розробляємо додаток C # для клієнта веб-сервісу. Це працюватиме на комп'ютерах Windows XP.
Одним із полів, повернутих веб-службою, є поле DateTime. Сервер повертає поле у форматі GMT, тобто з "Z" в кінці.
Однак ми виявили, що .NET, здається, робить якусь неявну конверсію, і час завжди було 12 годин.
Наступний зразок коду певною мірою вирішує це питання тим, що 12 годинна різниця минула, але це не враховує економію літнього часу в NZ.
CultureInfo ci = new CultureInfo("en-NZ");
string date = "Web service date".ToString("R", ci);
DateTime convertedDate = DateTime.Parse(date);
За даними на цій даті :
UTC / GMT Зсув
Стандартний часовий пояс: UTC / GMT +12 годин
Перехід на літній час: +1 година
Поточний зсув часового поясу: UTC / GMT +13 годин
Як ми регулюємо додаткову годину? Це можна зробити програмно чи це якась установка на ПК?
Z
час відноситься до UTC, а НЕ по Грінвічу. Вони можуть відрізнятися до 0,9 секунди.