首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >指定WCF数据服务的日期时间格式

指定WCF数据服务的日期时间格式
EN

Stack Overflow用户
提问于 2012-07-12 07:04:59
回答 3查看 5.2K关注 0票数 2

有没有办法指定WCF数据服务返回的DateTime数据的格式?

This question似乎说,默认格式看起来像/Date(1339515455030)/,是自1970年1月1日午夜以来的毫秒数。如果有必要的话,我可以找出如何解析它,但我更愿意指定一种更友好的格式。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-12 08:46:01

OData DateTime格式(假设您还没有将其格式化为字符串)取决于客户机和服务器之间协商的wire格式。上面的格式来自JSON Verbose,对应于一个标准的JavaScript Date对象。Atom format是不同的,JSON Light也不同。特别要注意的是,我们决定放弃传统的JavaScript日期格式,转而使用ISO 8601 for JSON Light。在这些情况下,如果您正在使用诸如WCF客户端或data.js之类的客户端,客户端将负责正确地反序列化该值。

轻量级原子格式日期:<d:OrderDate m:type="Edm.DateTime">1996-07-04T00:00:00</d:OrderDate>

  • JSON详细格式日期:"OrderDate":"\/Date(836438400000)\/"

  • JSON

  • 格式日期:"ShippedDate":"1996-07-16T00:00:00"

有关各种平台上的当前客户端库,请参阅此处:http://www.odata.org/libraries

票数 1
EN

Stack Overflow用户

发布于 2012-07-13 02:19:44

对于OData V3,JSON Verbose格式使用ISO8601,这似乎对一些消费者更友好。但请注意,只有在有效负载为V3时才会使用它。所以你需要更新你的服务器端到超级OData V3 (如果它是WCF,那么你想要使用WCF 5.0版本,它可以在NuGet http://blogs.msdn.com/b/astoriateam/archive/2012/05/18/wcf-data-services-5-0-1-released.aspx上找到)。

完成后,您可能需要强制服务器在响应有效负载中使用V3,因为在默认情况下,它将使用尽可能低的响应版本。这可以通过在来自客户端的请求中发送MinDataServiceVersion: 3.0;头来完成。

在此之后,即使是JSON详细有效负载也应该使用ISO日期时间格式。

票数 1
EN

Stack Overflow用户

发布于 2012-07-12 07:13:52

我相信您应该能够将发送回datetime.parse(http://msdn.microsoft.com/en-us/library/1k1skd40.aspx)的字符串值提供给它,而不必担心剩下的事情

下面是一个用法示例:http://www.dotnetperls.com/datetime-parse

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11442836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档