2013-03-29 43 views
1

我有一個返回日期的服務。奇怪的是,大部分的時候它回來像這樣:/Date(1364227320000)/從wcf服務返回的json日期不一致

,但有時它會返回這樣/Date(1364050020139-0400)/

當我打開Visual Studio調試器的日期,日期查找同樣爲每一個(減去時間差異)

什麼可以解釋這種差異?

回答

1

它取決於DateTime對象的種類(即其Kind屬性的值)。如果您要返回DateTimeDateTimeKind.Utc,則不會有偏移量。如果日期時間類型爲LocalUnspecified,則偏移量將被寫出。

您可以在"Stand-Alone JSON Serialization" page on MSDN的「DateTime連線格式」部分找到關於格式的更多信息。

+0

Downvoter,小心點評爲什麼? – carlosfigueira

2

這是在System.Runtime.Serialization.Json.JsonWriterDelegator.WriteDateTimeInDefaultFormat()處理。如果DateTimeKindUnspecifiedLocal,它將UtcOffset添加到結尾(-400部分,意思是Utc - 4小時)。