2012-08-12 73 views
2

用於Edm.Time的正確格式是什麼?OData中的Timespan/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有何建議?

+0

如果你能夠分享你的工作,我很好奇 - 你可以通過我的博客(bitwhys.com)ping我。 – 2012-08-13 00:01:39

回答

0

格式應合理記錄在here,它指向this link(在Edm.Time的情況下)。

從XML模式2:

3.2.8.1詞彙表示

對於時間的詞彙表示是截短的詞法 表示爲日期時間左邊:HH:MM:SS.SSS帶有可選以下時間 區域指示器。例如,要爲東部標準 指示1:20 pm的時間比協調世界時(UTC)晚5個小時,則其中一個 將寫入:13:20:00-05:00。另見ISO 8601日期和時間格式 (§D)。

請注意,時間和日期土地多年來一直存在問題。日期格式根據有效載荷格式和版本而有所不同。例如,JSON詳細使用了OData v2的/Date(...)/格式,但在OData v3中更改爲ISO 8601(這對於任何不需要實施OData服務器並關心所有人這些細微差別)。這與ASP.NET堆棧經歷的掙扎類似:http://www.hanselman.com/blog/OnTheNightmareThatIsJSONDatesPlusJSONNETAndASPNETWebAPI.aspx

+1

時間格式僅限於一個24小時(00:00:00至23:59:59)。您將如何代表涵蓋數天,數週或數年的TimeSpan? 3:00:00:00是3天時間的文本表示。 – 2013-04-11 18:22:21