Hegwin.Me

无边落木萧萧下,不尽长江滚滚来。

new Date()在Firefox和Chome下不同效果

最近一个项目需要画图表,我们的D3js,遇到一个很神奇的问题,就是在Chrome上能显示出来的点/线,在Firefox下面显示不出来。

初步察看原因,发现是点坐标的计算结果不一样。我们的X轴是时间轴,同样的日期在Chrome下计算的X坐标是正常的坐标,而在Firefox下计算出来的坐标是负值,导致无法在graph上显示出来。

后来仔细察看,发现是new Date()在两个浏览器下的返回值不一样。

Firefox 37.0.1

new Date("03/23/15, 03:35 AM")
=> Date {Tue Mar 23 1915 03:35:00 GMT+0800 (CST)}

Chrome 41.0.2272.118 (64-bit)

new Date("03/23/15, 03:35 AM")
=> Mon Mar 23 2015 03:35:00 GMT+0800 (CST)

比较下来就是,如果使用两位年份,比如15年,Firefox会当作1915年计算,而Chrome会按照2015年计算。而88年,Firefox和Chome都会当作1988年计算。

Tags:

Posted on: 2015-04-14

Back