我有一个返回日期的服务。奇怪的是,大部分时间它都是这样回来的:/Date(1364227320000)/
但有时会返回日期/Date(1364050020139-0400)/
当我打开visual studio调试器时,每个日期看起来相同(减去时间上的差异)
有什么可以解释这种差异?
答案 0 :(得分:2)
这是在System.Runtime.Serialization.Json.JsonWriterDelegator.WriteDateTimeInDefaultFormat()
中处理的。如果DateTimeKind
为Unspecified
或Local
,则会将UtcOffset添加到结尾(-400部分,即Utc - 4小时)。
答案 1 :(得分:1)
它取决于DateTime
对象的种类(即其Kind
属性的值)。如果您使用DateTime
返回DateTimeKind.Utc
,则不会有偏移。如果日期时间属于Local
或Unspecified
,则会写出偏移量。
您可以在"Stand-Alone JSON Serialization" page on MSDN的“DateTime有线格式”部分找到有关格式的更多信息。