我在我的网站上使用以下代码显示当前时间
function startTime() {
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
m = checkTime(m);
s = checkTime(s);
document.getElementById('time').innerHTML =
h + ":" + m;
var t = setTimeout(startTime, 500);
}
function checkTime(i) {
if (i < 10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
&#13;
我也在我的html中使用自动刷新标签,每隔60秒重新加载页面
<meta http-equiv="refresh" content="60">
我想要的是每当时间改变到下一分钟页面重新加载 这意味着如果当前时间是14:05,当它到达14:06时,页面通过读取此时间更改而不是60秒间隔用户打开页面来重新加载。
答案 0 :(得分:2)
您可以设置超时查看时钟,只需获取实际秒数,然后等待直到60重新加载:
var date = new Date();
setTimeout(function(){
window.location.reload(1);
},(60 - date.getSeconds())*1000)
把它放在脚本标签内的头部
答案 1 :(得分:1)
尝试使用此
setTimeout(function(){
window.location.reload(1);
}, 60000); // 60 sec
来源:How to reload page every 5 second?
或者看看这个
setTimeout(function(){
var minutes = (new Date()).getMinutes()
if ( !minutes%15 ) location.reload(); // if minutes is a multiple of 15
},60000); // 60.000 milliseconds = 1 minute
答案 2 :(得分:1)
建议不要使用客户端脚本处理本地时间,因为用户的时钟可能会混乱,因此系统会出现故障。
因此,最好使用任何服务器端语言(如PHP
)从服务器获取时间在PHP中:
<?php
echo date("h:i");
?>
现在您可以使用AJAX调用此功能,您可以轻松处理时间。
var result=null;
function getDate(){
var result=$.ajax({
url: "script.php",
type: "POST",
success: function(data){
setTimeOut(function(){getDate();},60000);
}
}).responseText;
}