为什么不同的浏览器会为JavaScript新日期(-105998400000)返回不同的结果?

时间:2014-08-11 18:48:38

标签: javascript json asp.net-mvc-3

我正在使用ASP.NET MVC 3和默认的Json序列化程序(而不是在MVC4 +中实现的Json.NET),并且我的JsonResults的日期看起来像/ Date(-105998400000)/。我正在解析数字并使用此值新建一个日期,但我在IE和Chrome之间得到了不一致的结果。

var date = new Date(-105998400000);

在各种浏览器中查看my jsfiddle。我的结果是:

IE10 - 8月22日星期一23:00:00美国东部时间1966年 Firefox - 1966年8月23日星期二00:00 00:00:00 GMT-0400(美国东部标准时间)
Chrome - 1966年8月23日星期二00:00 00:00:00 GMT-0400(美国东部夏令时间)

我的两位客户在Chrome浏览器中看到了8月22日的日期。

为什么新的Date会在不同的浏览器中使用UTC毫秒值返回不同的值?

1 个答案:

答案 0 :(得分:0)

我对此问题的原始实现答案是here,使用来自Json.NET序列化程序的ISO 8601日期,而不是旧版ASP.NET MVC3 Json序列化程序的UTC毫秒偏移量。

由于用户dandavis,我确实对这个奇怪的结果有了一些了解。