我们正在开发一个C#应用程序,用于Web服务客户端。该程序将在Windows XP个人电脑上运行。
Web服务返回的字段之一是DateTime字段。服务器以GMT格式返回字段,即在末尾带有“Z”。
然而,我们发现.NET似乎进行了某种隐式转换,时间总是相差12小时。
以下代码示例在某种程度上解决了这个问题,即12小时的差异已经消失,但它没有考虑到新西兰夏令时。
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小时
如何调整这个额外的一小时?这可以通过程序自动完成吗?还是需要在电脑上进行某种设置?