gpt4 book ai didi

.net - 如何防止 DateTime 在 SOAP xsd :dateTime element? 中包含区域偏移量

转载 作者:行者123 更新时间:2023-12-04 15:16:55 26 4
gpt4 key购买 nike

我在一些 WSDL 中有这个:

<element name="startDate" type="xsd:dateTime"/>
<element name="endDate" type="xsd:dateTime"/>
这将导致 SOAP 信封中的以下文本:
<startDate>2008-10-29T12:01:05</startDate>
<endDate>2008-10-29T12:38:59.65625-04:00</endDate>
只有某些时候有毫秒和区域偏移量。这让我很头疼,因为我试图在这个例子中获得 37 分 54 秒的范围,但由于偏移量,我最终得到了 4 小时 37 分 54.65625 秒。这是 DateTime 中的某种舍入错误吗?我如何防止这种情况发生?

最佳答案

我怀疑您的 endDate 值将 Kind 属性设置为 DateTimeKind.Local。

您可以将其更改为 DateTimeKind.Unspecified,如下所示:

endDate = DateTime.SpecifyKind(endDate, DateTimeKind.Unspecified)

之后我相信它将在没有时区偏移的情况下被序列化。

请注意,如果您已使用 DateTime.Now 或 DateTime.Today 对其进行初始化,则您将获得带有 DateTimeKind.Local 的 DateTime,如果您已使用 Datetime.UtcNow 对其进行初始化,则将获得 DateTimeKind.Utc。

关于.net - 如何防止 DateTime 在 SOAP xsd :dateTime element? 中包含区域偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/247977/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com