OData中的Timespan / Edm.Time格式

时间:2012-08-12 16:30:19

标签: odata ado.net-entity-data-model

用于Edm.Time的正确格式是什么?

我在协议文档中看到DateTime和DateTimeOffset的格式如下:

日期时间:“yyyy-MM-dd'T'HH:mm:ss.fff” DateTimeoffset:“yyyy-MM-dd'T'HH:mm:ss.fffZ”

我在这里检查了协议:http://www.w3.org/TR/xmlschema-2/但无法获得用于Edm.Time的格式。 目前我们使用XmlConvert.ToString将时间跨度值转换为字符串表示形式。 OData是否为Timespan推荐了哪些具体的表示?

1 个答案:

答案 0 :(得分:0)

格式应该有合理的文档记录here,它指向this link(在Edm.Time的情况下)。

来自XML Schema 2:

  

3.2.8.1词汇表示

     

时间的词汇表示是左截断的词汇   dateTime:hh:mm:ss.sss的表示,带有可选的下一个时间   区域指标。例如,表示东部标准的下午1:20   比协调世界时(UTC)晚5个小时的时间,一个   写道:13:20:00-05:00。另请参见ISO 8601日期和时间格式   (§D)。

请注意,多年来,时间和日期的土地一直存在问题。日期格式根据有效负载格式和版本而有所不同。例如,JSON Verbose使用ODD v2的/Date(...)/格式,但在OData v3中更改为ISO 8601(对于不必实现OData服务器并关心所有人的集体救济而言这些细微差别)。这类似于ASP.NET堆栈经历的挣扎:http://www.hanselman.com/blog/OnTheNightmareThatIsJSONDatesPlusJSONNETAndASPNETWebAPI.aspx