2

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

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

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

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

4

1 回答 1

0

格式应该在此处得到合理的记录,指向此链接(在 Edm.Time 的情况下)。

从 XML 模式 2:

3.2.8.1 词法表示

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

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

于 2012-08-12T23:59:26.447 回答