2013-03-15 51 views
1

IE9调试器(F12开发人员工具 - >脚本调试器)在执行代码时单步执行代码时在本地窗口中显示以下内容页面从服务器推出:javascript Date()。valueOf()正在开发PC上工作,但不在服务器上服务的页面上

midnight Fri Mar 15 00:00:00 EDT 2013  Object, (Date) 
myDate Fri Mar 15 00:00:00 EDT 2013  Object, (Date) 

,但对于价值平等地获得下列条件测试解析为false

if (midnight.valueOf() === myDate.valueOf()) { 
    // these lines of code are never reached 
    . 
    . 
    . 
} 

奇怪的东西,===测试解析为true我发展PC。我无法弄清楚为什么它在服务器提供的页面上解析为false。调试器清楚地表明它应该解析为真。

该文档处于“IE9标准”模式。

+1

locale?尽管如此,仍然很奇怪。 – raina77ow 2013-03-15 19:17:53

回答

2

valueOf方法返回Date对象的原始值作为数字数据类型,自1970年1月1日UTC以来的毫秒数。

调试器只显示秒数,所以变量实际上可能不同。

+0

应该可能是一个评论(问题/问题目前是模糊的),尽管它包含一条线索:实际的时代偏移是什么? – 2013-03-15 21:33:05

+0

@pst:克里斯指出我正确的方向。当实例化日期时,它们被实例化:var d = new Date(); d.setHours(0); d.setMinutes(0); d.setSeconds(0)'。现在我添加了'd.setMillseconds(0)'。 – Tim 2013-03-15 21:37:37

相关问题