为了账号安全,请及时绑定邮箱和手机立即绑定

手动修改window系统时间后,js的Date为何有时候不能改变?

手动修改window系统时间后,js的Date为何有时候不能改变?

墨色风雨 2018-08-15 13:13:45
平时会用new Date来获取当前时间,为了测试有时候会把系统时间手动改掉,这时候发现手动修改时间之后,date对象并不是总是跟着系统时间变,在浏览器不重新打开的情况下,会出现一直为今天的情况
查看完整描述

1 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

这个问题。。。我以前也纠结过挺久的。
怎么说呢,你修改好时间并能读取到你修改的时间,前提就是,你触发的这个事件需要有“重新读取”时间的这个动作。
我试着简单说说看。

比如
window.onload=function()
{
var oDate=new Date();

document.onclick=function(){
    alert(oDate)
}

}

比如这个例子,你打开窗口,在这个时间点你读取了系统时间。
然后你点击文档,alert出来了时间的量,但是这个时间的量是你打开窗口那个时候所获取的时间。
so,你要把var oDate放到onclick这个事件里去,每次点击文档,都会抽取一次系统时间
这样问题就解决啦。


查看完整回答
反对 回复 2018-09-21
  • 1 回答
  • 0 关注
  • 1212 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信