令人惊讶的是,Json DateTime在WCF服务反序列化后丢失了几秒钟

时间:2012-03-14 08:30:46

标签: c# json wcf datetime deserialization

我将以下json DateTime发布(使用jQuery $ .post)到WCF服务(使用C#):

"/Date(1331713200000)/"

在Firebug CommandLine上,我测试它:

Date(1331713200000)

这是输出: “2012年3月14日星期三11:52:06 GMT + 0330”

在服务器端,我在服务输入参数(即System.DateTime)上断点。收到的是没有秒数的发布日期时间!

{3/14/2012 11:50:00 AM}

你有没试过这个?怎么了?

3 个答案:

答案 0 :(得分:2)

要么你错误地使用Firebug,要么是错误的。看看你的号码,这是自unix时代以来的毫秒数。我们除以1000,最后得到的数量:1331713200

最终会以任何方式,形状或形式结束数字“6”?

事实上,我们可以将这个数字除以60得到一个整数...这完全符合您在服务器端看到的值。

值1331713200000 代表2012-03-14T08:20:00Z。

答案 1 :(得分:1)

也许这些帖子会帮助你:

Send JQuery JSON to WCF REST using date

http://skysanders.net/subtext/archive/2010/02/18/wcf-to-json-dates-and-back-again.aspx

客户日期和WCF的组合不能很好地协同工作。

答案 2 :(得分:0)

Date(1331713200000)正在返回 now ,该参数将被忽略。 new Date(1331713200000)是你应该打电话的。正如乔恩所说 - 你获得服务器端的时间是正确的。