【发布时间】:2017-12-17 11:18:51
【问题描述】:
我意识到,如果我使用新的 Date 对象,系统时间的变化不会立即反映在 javascript 中。每分钟更新一次。
var fakeElapsed = 0;
$(document).ready(function(){
var oldTime = 0;
function fakeTimeLoop(time){
fakeElapsed+=(time-oldTime);
oldTime = time;
$("div").html(fakeElapsed);
}
var clock = new Date();
var start = clock.getTime();
oldTime = clock.getTime();
setInterval(function(){
var clock2 = new Date();
var end = clock2.getTime();
var elapsed = end-start;
if(elapsed%5===0){
fakeTimeLoop(end);
}},
1
);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<div></div>
</body>
时间码,如果您将时间向前(或向后),则需要一分钟才能更改经过的时间。
是否有每秒更新一次系统时间?
编辑:对于那些感到困惑的人,系统的变化不会立即反映在 Chrome 和 Opera 上,但在 IE 和 Mozzila 上会立即反映,我假设它的顺序是避免每次需要构建时都调用昂贵的系统调用一个新的 Date 对象。
我在寻找什么:无论如何是要在 chrome/opera 中获取当前系统时间还是立即检测系统时间的变化?
【问题讨论】:
标签: javascript datetime