Sha*_*awn 11 javascript vb.net ajax clock clock-synchronization
我需要在网页上添加一个时钟.时钟需要与服务器同步,但我真的不想让它经常检查服务器,因为页面将在几台PC上全天候打开.有没有办法从服务器获取时间,然后使用系统时钟保持更新并每隔15分钟左右检查服务器以保持同步?
Jon*_*ton 16
我以前的方式是:
您只需要从服务器偶尔更新它.
你需要解决的问题是,在提出从服务器获取时间的请求时,在获得客户端时间之前会有一段滞后.您可以通过使用ajax请求来获取服务器时间而不是其他任何内容来最小化这一点,从而减少开销和网络延迟等.
Ski*_*ick 12
+Date.now()从Unix纪元开始返回本地ms.所以:
或类似的东西.
var serverTime = 1310127993162; //this would come from the server obviously
var localTime = +Date.now();
var timeDiff = serverTime - localTime;
setInterval(function () {
console.log(+Date.now() + timeDiff);
}, 1000);
Run Code Online (Sandbox Code Playgroud)
Server Time: <input type="text" id="clock" value="" size='8'>
<script type="text/javascript">
var serverTime = <?php echo time() * 1000; ?>; //this would come from the server
var localTime = +Date.now();
var timeDiff = serverTime - localTime;
setInterval(function () {
var realtime = +Date.now() + timeDiff;
var date = new Date(realtime);
// hours part from the timestamp
var hours = date.getHours();
// minutes part from the timestamp
var minutes = date.getMinutes();
// seconds part from the timestamp
var seconds = date.getSeconds();
// will display time in 10:30:23 format
var formattedTime = hours + ':' + minutes + ':' + seconds;
$('#clock').attr('value',formattedTime); <-- input id=clock
}, 1000);
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28811 次 |
| 最近记录: |