找回密码
 注册

[JS] JS获取服务器时间,动态刷新时间显示

php 发表于 2012/5/26 12:49 | 显示全部楼层 |阅读模式
JS如何获取服务器时间?
纯JS获取服务器时间是通过AJAX 响应头 ajax.getResponseHeader('Date')来动态获取服务器当前时间的。
我们知道,PHP可以获取服务器当前时间的时间戳,JS能方便对页面进行局部刷新,那么就可以用PHP获取时间戳,将参数传递给JS,再利用JS来刷新页面,从而实现动态时间的效果.
JS获取服务器时间代码:注意js获取到的时间戳是以毫秒为单位的,而PHP里面是秒为单位。
<span id="_time">Loading...</span>
<script type="text/javascript">
    var _timestamp=<?php echo round(time()*1000); ?>;
        function addzero(n){
                return n>9 ? n : '0' + n;
        }
    function _GetTime(){
                var _time = new Date(_timestamp);
                var _year=_time.getFullYear();
                                var _month=_time.getMonth()+1;
                                var _date = _time.getDate()
                                var _day='日一二三四五六'.charAt(_time.getDay());
                                var _hours= addzero(_time.getHours());
                                var _minutes= addzero(_time.getMinutes());
                                var _seconds= addzero(_time.getSeconds());               
                document.getElementById('_time').innerHTML=_year+'-'+_month+'-'+_date+' (周'+_day+') '+_hours+':'+_minutes+':'+_seconds;
                setTimeout('_GetTime()',1000);
                _timestamp+=1000;
    }
    _GetTime();
</script>
几点说明:
1.代码中对星期进行了转中文,JS默认的星期是从0-6的数字,我们将它显示为"周一"至"周六";
2.当时钟数\分钟数\秒钟数小于10的时候JS会显示成1:2:3这样的格式,这并不习惯于我们正常的阅读习惯,我们将它显示为01:02:03;
3.调整以下代码的位置可以调时间显示的位置.但必须要将此代码写在JS代码之前,否则时间显示将失效.
  1. <span id="_time">Loading...</span>
复制代码
最终显示效果
  1. 2012-5-26 (周六) 12:48:58
复制代码
srh08 发表于 2013/6/24 13:57 | 显示全部楼层
JS获取服务器时间,JS动态刷新时间显示
回复

使用道具 举报

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表