【发布时间】:2011-03-21 16:32:23
【问题描述】:
我正在尝试使用 Visual Studio 服务引用(System.ServiceModel 命名空间类)通过 .NET 应用程序与 Java Web 服务进行通信。我发现每当它序列化 DateTime 值时,它都没有指定偏移量。问题有两个方面:
- 我不知道如何创建具有特定时区的 DateTime 对象。我可以创建一个 DateTimeOffset 来完成此操作,但服务客户端需要一个 DateTime 对象。
- DateTime 对象序列化时,不包含时区偏移量。
为了详细说明问题 #2,服务期望时间戳对象的 XML 如下:
<startDate>2011-03-18T00:00:00-07:00</startDate>
<endDate>2011-03-19T00:00:00-07:00</endDate>
但是,我在跟踪 .NET 应用程序时看到的 XML 如下:
<startDate>2011-03-18T00:00:00</startDate>
<endDate>2011-03-19T00:00:00</endDate>
Web 服务需要时区,因为在 GMT-0 中跟踪基础数据。返回的数据是每天间隔的,所以如果我没有指定时区,那么我会返回 GMT-0 的数据。只有当我在查询中提供偏移量时,我才能获得数据正确的时区。
【问题讨论】:
标签: .net datetime service wcf-client