【问题标题】:javascript new Date() isn't updatingjavascript new Date() 没有更新
【发布时间】:2016-01-03 04:24:44
【问题描述】:
function doSomething(){
    var rightNow = new Date();
}

doSomething();

如果我机器的日期是上午 11:59,1 分钟后就是第二天,为什么我仍然看到是 1 月 3 日?

【问题讨论】:

  • 首先应该是晚上 11.59。其次,您是一次还是多次调用此函数?尝试在 setTimeout 内调用它并立即记录
  • 您看到了什么以及如何看到的?你会在任何地方输出rightNow 吗?
  • 只要你重构一个新的日期,你就会得到当前的日期,否则你得到的是构建时的日期。您也可以使用Date.now
  • Date 对象中包含的时间戳不会随着时间的推移而改变。它将保留最初创建时使用的那个。
  • new Date() 返回一个静态变量,因此将new Date() 的值赋给一个变量意味着该值将永远改变。如果您需要更多说明,请尝试运行:setInterval(function(){alert(Date.now())}, 2500);

标签: javascript jquery datetime


【解决方案1】:

每次调用doSomething() 时,都会在调用时创建Date() 的新实例。在你再次调用它之前它不会改变。如果您希望它每秒更改一次,请尝试以下操作:

setInterval(function() {
    console.log(new Date);
}, 1000);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-09
    • 1970-01-01
    相关资源
    最近更新 更多