wcf - 如何序列化 WCF 中的 UTC 日期时间以在末尾包含 "Z"?

标签 wcf datetime utc

我有一个由 ABAP 使用的 WCF Web 服务,它在 UTC 时间末尾需要“Z”字符。 WCF 服务正在很好地序列化它,但“Z”除外。

也就是说,它正在发送 2014-01-12T19:43:13,我希望它发送 2014-01-12T19:43:13Z。

我已经阅读了几篇与此相关的文章,但我希望有一个非常优雅的解决方案可用。添加另一个返回字符串的元素/成员并不理想。

作为替代方案,是否有一种方法可以指定使用的格式,以便客户端可以使用所述格式解析日期时间?

最佳答案

你是对的,500 - 内部服务器错误,如果 DateTime 将其 DateTimeKind 设置为 Utc,它确实如此,但它没有(即使它是 UTC 时间)。我使用 DateTimeOffset 创建了一个扩展方法,以返回 DateTimeKind 设置为 Utc 的 DateTime,一切都很好。

从头开始,我选择改用 DateTime.SpecifyKind() 方法,这看起来更整洁。

关于wcf - 如何序列化 WCF 中的 UTC 日期时间以在末尾包含 "Z"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21923787/

相关文章:

c# - WCF 数据服务,序列化 Entity Framework 部分类的附加属性

wcf - RESTful WCF 服务安全

WCF 服务 - 在启动时创建多个实例?

c# - 如何将此日期格式解析为 DateTime 对象?

shell - 如何在 shell 脚本中将以秒为单位的 UTC 时间戳转换为人类可读的本地时间?

c# - 关闭 WCF 线程的最佳方法是什么?

c# - RDLC报告中我的日期时间数据字段中的错误

python - sqlalchemy 通过比较 datetime.now() 和列默认日期进行过滤

javascript - GMT 与 UTC 日期

javascript - 将 Javascript 日期转换为带有时区信息的 UTC