从wcf服务返回的json日期不一致

时间:2013-03-29 17:33:44

标签: javascript .net json wcf

我有一个返回日期的服务。奇怪的是,大部分时间它都是这样回来的:/Date(1364227320000)/

但有时会返回日期/Date(1364050020139-0400)/

当我打开visual studio调试器时,每个日期看起来相同(减去时间上的差异)

有什么可以解释这种差异?

2 个答案:

答案 0 :(得分:2)

这是在System.Runtime.Serialization.Json.JsonWriterDelegator.WriteDateTimeInDefaultFormat()中处理的。如果DateTimeKindUnspecifiedLocal,则会将UtcOffset添加到结尾(-400部分,即Utc - 4小时)。

答案 1 :(得分:1)

它取决于DateTime对象的种类(即其Kind属性的值)。如果您使用DateTime返回DateTimeKind.Utc,则不会有偏移。如果日期时间属于LocalUnspecified,则会写出偏移量。

您可以在"Stand-Alone JSON Serialization" page on MSDN的“DateTime有线格式”部分找到有关格式的更多信息。