【问题标题】:javascript Date().valueOf() is working on development PC but not on page served by serverjavascript Date().valueOf() 正在开发PC上工作,但不在服务器提供的页面上
【发布时间】:2013-03-15 19:16:21
【问题描述】:

当我从服务器启动页面时单步执行代码时,IE9 调试器(F12 开发人员工具 -> 脚本调试器)会在 Locals 窗口中显示以下内容:

 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
     .
     .
     .
 }

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

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

【问题讨论】:

  • 语言环境?不过还是很奇怪。

标签: javascript date value-of


【解决方案1】:

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

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

【讨论】:

  • 应该是评论(问题/问题目前含糊不清),尽管它包含一个线索:实际的纪元偏移量是多少?
  • @pst:克里斯为我指出了正确的方向。当日期被实例化时,它们被实例化:var d = new Date(); d.setHours(0); d.setMinutes(0); d.setSeconds(0)。现在我添加了d.setMillseconds(0)
猜你喜欢
  • 1970-01-01
  • 2017-02-22
  • 2011-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多