javascript - 手动修改window系统时间后,js的Date为何有时候不能改变?
迷茫
迷茫 2017-04-11 11:30:04
[JavaScript讨论组]

平时会用new Date来获取当前时间,为了测试有时候会把系统时间手动改掉,这时候发现手动修改时间之后,date对象并不是总是跟着系统时间变,在浏览器不重新打开的情况下,会出现一直为今天的情况

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(3)
高洛峰

new Date()是会变的,除非你事先把new Date()的值存进了变量,不然就是浏览器bug了。

怪我咯

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

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

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

}

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

伊谢尔伦

new Date的话,应该会取系统时间,但是会有延迟,改完windows时间后,过段时间new Date才会变。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号