1

我正在访问.net 中的 Web 服务,它返回一个数据集。

查看来自 web 服务的 xml,它显示的日期如下

2012-11-16T00:00:00-05:00

我的电脑时区是 GMT+1,您可以从 XML 中看到日期为 -5

我在 VS2005 中使用了一个 webreference,它给了我一个数据集。

当我查看数据集中的日期时,它说它是 05:00

我期待 00:00 的值,但不确定转换的正确方法。

我可以简单地减去 5 小时,但不确定当夏令时再次更改时会保持不变。

我做了很多谷歌搜索,在使用 datareader 以及如何修复它时发现了类似的问题,但是没有人谈论当它被序列化为整个数据集时该怎么做。

4

1 回答 1

2

XML 提供本地值,即 2012-11-16T05:00:00Z。听起来反序列化正在将其转换为DateTimeUTC 格式...检查您所拥有的Kind属性DateTime...如果是,Utc那么这一切都是有道理的,并且您将获得XML中表示的正确时间.

目前尚不清楚您的期望是什么,或者发布的数据是什么,或者您真正需要从中获得什么价值。如果您可以将反序列化代码更改为使用DateTimeOffset而不是DateTime,那将保留这两条信息。

于 2012-11-16T11:29:08.280 回答