在浏览器显示服务器时钟

有时我们需要在客户端显示服务端的时钟。
一般而言,我们可以不停的刷新页面或者使用ajax局部刷新时钟显示组件。但这都将给服务端产生较大的压力。
可以近似地这样实现,在请求页面时,现从服务器获取服务器当前时间,然后以这个时间为起始点,启动一个以秒为单位的定时器计时。这样基本可以同步显示,误差只在网络传输以及页面载入所花的时间上。
当然这样可能过一段时间又会产生较大偏差,所以可以设置每隔几分钟或半小时同步一次。

下面的代码只演示如何从服务器获取时间并在客户端计时。

<html>
<head>
<script>
<?php
$date = localtime();
$jscode = 'var d = new Date(';
$jscode .= $date[5]+1900;        //year
$jscode .= ", " . $date[4];        //month
$jscode .= ", " . $date[3];        //day
$jscode .= ", " . $date[2];        //hour
$jscode .= ", " . $date[1];        //minute
$jscode .= ", " . $date[0];        //second
$jscode .= ");/n";
echo $jscode;
?>
function showtime()
{
    document.getElementById("showtime").innerHTML=d.toLocaleString();
    d = new Date(d.valueOf()+1000);
    setTimeout("showtime()", 1000);
}
</script>
</head>
<body nload='showtime()'>
<div id=showtime></div>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值