我有一個返回日期的服務。奇怪的是,大部分的時候它回來像這樣:/Date(1364227320000)/
從wcf服務返回的json日期不一致
,但有時它會返回這樣/Date(1364050020139-0400)/
當我打開Visual Studio調試器的日期,日期查找同樣爲每一個(減去時間差異)
什麼可以解釋這種差異?
我有一個返回日期的服務。奇怪的是,大部分的時候它回來像這樣:/Date(1364227320000)/
從wcf服務返回的json日期不一致
,但有時它會返回這樣/Date(1364050020139-0400)/
當我打開Visual Studio調試器的日期,日期查找同樣爲每一個(減去時間差異)
什麼可以解釋這種差異?
它取決於DateTime
對象的種類(即其Kind
屬性的值)。如果您要返回DateTime
和DateTimeKind.Utc
,則不會有偏移量。如果日期時間類型爲Local
或Unspecified
,則偏移量將被寫出。
您可以在"Stand-Alone JSON Serialization" page on MSDN的「DateTime連線格式」部分找到關於格式的更多信息。
這是在System.Runtime.Serialization.Json.JsonWriterDelegator.WriteDateTimeInDefaultFormat()
處理。如果DateTimeKind
是Unspecified
或Local
,它將UtcOffset添加到結尾(-400部分,意思是Utc - 4小時)。
Downvoter,小心點評爲什麼? – carlosfigueira