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代码之前,否则时间显示将失效.- <span id="_time">Loading...</span>
复制代码 最终显示效果 |
|