一个显示时间的页面
前段些天发现每过一段时间电脑的时间总会出现一些误差,之前总是使用自带的授时服务器(ntp)进行更新,但是经常遇到更新失败的问题,后来听liangke说他都是使用国家授时中心的ntp服务,由于是国内网络连接比较好,很快就可以同步完成。就决定也使用国内的ntp服务。
那天,想到自己手上一直荒废的域名 t.hm
,似乎还比较合适,就解析了过去。你还别说,效果还不错呢。
后来又做了个显示时间的页面 https://www.t.hm
其中使用了JQuery的AJAX和定时任务两非常实用的功能,就记在这里,说不定还用的上的。
这里主要用了两个插件:dayjs 和 jquery。
哦,还有一个很奇葩的BUG,Safari浏览器不支持解析yyyy-mm-dd格式的时间,所以需要修改时间格式(我这里用的是/代替的-)。
<script>
// 初始化时间变量
var localTime;
getServerTime();
setInterval(getServerTime, 10 * 60 * 1000);
// 每秒更新本地时间显示
setInterval(updateLocalTime, 1000);
// 函数:获取服务器时间
function getServerTime() {
$.ajax({
url: 'time.php',
type: 'GET',
success: function(response) {
setLocalTime();
},
error: function() {
// 处理请求失败的情况
}
});
}
// 设置服务器时间为当前时间
function setLocalTime() {
if (serverTime) {
localTime = new dayjs(serverTime);
}else{
console.log('serverTime:'+serverTime);
}
}
// 函数:更新本地时间显示
function updateLocalTime() {
if (localTime) {
tmp = dayjs(localTime).format('YYYY-MM-DD HH:mm:ss ZZ');
$('#time').text(tmp);
$("#title").text(tmp+' - t.hm 授时服务');
localTime = dayjs(localTime).add(1,'s');
}
//console.error('localTime:'+localTime);
}
</script>