各位在使用D7开发Web Service时,有没有碰到TDateTime参数
客户端在Win98下打成的Soap包与Win2000的不一样呢?
比如Win2000下是
<ADate xsi:type="xsd:dateTime">2003-07-27T10:14:46.631Z</ADate>
而Win98下则是
<ADate xsi:type="xsd:dateTime">2003-07-27T10:14:46.631+8:00</ADate>,
也就是说Win98在打包时,使用了UTC时间,把本来的时间上加入了北京时区的8个小时偏差。有些情况下,这当然不是我们所希望的,有谁有办法可以在Delphi程序内部解决这个问题?不算我下面举出的这些,总是别扭:
1.将所有接口方法的TDateTime字段改成Double类型,然后服务器与客户端两边都使用强制类型转换,也包括使用字串来代替之类的方法
2.将98的时区改成佛得角群岛(可能是格林威治)具体记不清了,比较搞笑的
3.使用Win32API的SetTimeZoneInformation将偏移值设置为0,感觉会对其它使用这个值的应用程序产生影响唉,希望各位大虾帮忙!