我正在访问.net中的webservice,它返回一个数据集。
从webservice查看xml,它显示如下日期
2012-11-16T00:00:00-05:00
我的电脑时区是GMT + 1,你可以看到XML的日期为-5
我在VS2005中使用了一个webreference,它为我提供了一个数据集。
当我从数据集中查看日期时,它表示它是05:00
我期待00:00的价值,我不确定正确的转换方式。
我可以简单地减去5个小时,但不确定当夏令时再次变化时它会保持不变。
我已经做了很多谷歌搜索,并在使用datareader时发现了类似的问题以及如何修复它,但没有人谈论当它被序列化为整个数据集时该怎么做。
答案 0 :(得分:2)
XML提供 local 值,即2012-11-16T05:00:00Z。听起来反序列化然后将其转换为UTC中的DateTime
...检查您DateTime
的{{3}}属性...如果它是Utc
然后这一切都有意义,并且您将获得XML中表示的正确即时。
目前尚不清楚您期望什么,或者发布数据的内容,或者您真正需要的价值。如果您可以更改反序列化代码以使用DateTimeOffset
而不是DateTime
,那么这将保留两条信息。