Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 机器时间更改后立即更新日期()函数结果_Javascript - Fatal编程技术网

Javascript 机器时间更改后立即更新日期()函数结果

Javascript 机器时间更改后立即更新日期()函数结果,javascript,Javascript,我在程序中使用javascript的Date()对象处理各种事情。但是,我注意到,每当机器上的时钟发生变化时,Date()返回的时间仍然等于变化前的时间,直到变化后一分钟才生效 时间是23:50:39,我手动将机器上的时间更改为23:59:50,并刷新了我仍然会看到的页面:23:50:51(时间已经进步了一点),而不是所需的时间 有没有办法每次我执行newdate()时都强制javascript拉入新机器?我也注意到了这一点。清除浏览器数据(CTRL-SHIFT-DEL,仅检查图像和文件)后,日

我在程序中使用javascript的
Date()
对象处理各种事情。但是,我注意到,每当机器上的时钟发生变化时,
Date()
返回的时间仍然等于变化前的时间,直到变化后一分钟才生效

时间是
23:50:39
,我手动将机器上的时间更改为
23:59:50
,并刷新了我仍然会看到的页面:
23:50:51
(时间已经进步了一点),而不是所需的时间


有没有办法每次我执行
newdate()
时都强制javascript拉入新机器?

我也注意到了这一点。清除浏览器数据(CTRL-SHIFT-DEL,仅检查图像和文件)后,日期将反映新的系统日期,因此Chrome似乎在浏览器启动时使用从系统日期派生的内部日期/时间值


我不知道如何以编程方式清除浏览器缓存,其他。

似乎V8在启动时保存了用于读取日期/时间计算的各种值的内部缓存(源代码和)。这是为了避免每次需要构建JS日期对象时进行昂贵的系统调用


可能由于某些原因,V8无法捕捉到重置这些缓存值的日期/时间更改通知。

您在哪些浏览器中看到了这一点?@Niko Google Chrome。我还没有在任何其他浏览器上测试过它,因为我必须让它在谷歌ChromeJust上工作,就像我怀疑的那样。我想目前还没有办法强迫它检索机器时间。哪个操作系统?哪个Chrome版本?如何更改系统日期?在我的系统(Linux+Chromium38)上,使用
date
从命令行设置日期效果很好。手动更改时钟。(您可以通过在cmd中键入
timedate.cpl
进入时钟更改对话框)如果您使用
time
date
从cmd更改日期会怎么样?没有检查这一点,因为有理由必须通过窗口的对话框来完成/