如果我在 google Chrome(版本 40.0.2214.111 m)中运行以下代码,系统时钟会加速,并且系统时钟每 10 秒快 1-2 秒。
我已经在运行 windows 7 64 位、intel Atom D525 1.8GHz、2GB RAM 的机器上对此进行了测试。已安装所有 Windows 更新和驱动程序。
setInterval(function(){
var clientTime = new Date().getTime();
console.log(clientTime)
},100);
在 IE 中运行相同的代码时,我对系统时间更改没有任何问题。
还有其他人遇到同样的问题吗?
更新
我添加了一个小测试,通过使用 jquery 和 php 从网络服务器获取时间(必须是另一台机器)。您可以看到客户端时间相对于网络服务器时间发生了变化。
在 webbserver 上关注 serverTime.php。
<?php
date_default_timezone_set('Europe/Stockholm');
$date = microtime(true);
print $date;
?>
上面的(第一个)JS,改为:
setInterval(function(){
$.ajax({
url: 'serverTime.php',
type: 'POST',
success: function( serverTime ){
var clientTime = new Date().getTime() / 1000;
var diff = serverTime - clientTime;
console.log(serverTime,clientTime,diff)
}
});
},100);
!网络服务器不能与客户端计算机相同,那么差异将不会显示。
由于服务器代码的执行时间,您总是会得到服务器时间和客户端时间之间的差异,但差异会有些恒定。
2015-02-17 更新
现在我通过安装节点并运行相同的代码进行了测试:
setInterval(function(){
var clientTime = new Date().getTime();
console.log(clientTime)
},100);
在我打开谷歌浏览器之前,我没有任何变化,然后突然系统时间开始改变,速度与上述不同,而是每分钟几秒钟。(刚开始铬,没有别的)
疯了吧,