我有一个页面显示TeamSpeak服务器的状态,我在该服务器上使用$ uptime来获取服务器的正常运行时间。这将以秒为单位显示服务器正常运行时间,并使用
将其转换为天,小时,分钟和秒function secondsToTime($seconds) {
$dtF = new \DateTime('@0');
$dtT = new \DateTime("@$seconds");
return $dtF->diff($dtT)->format('%a days, %h hours, %i minutes and %s seconds');
我使用secondsToTime($ uptime)以上述格式输出正常运行时间;但是我想在输出页面后输出从原始输出计数,而不是刷新页面以获得新的正常运行时间。
提前致谢。
答案 0 :(得分:1)
你应该使用JavaScript制作一个简单的计时器。
var timeelm, time, days, hours, minutes, seconds;
timeelm = document.getElementById("time");
time = timeelm.innerHTML;
days = parseInt(time.split(" ")[0]);
hours = parseInt(time.split(" ")[2]);
minutes = parseInt(time.split(" ")[4]);
seconds = parseInt(time.split(" ")[7]);
timerGo();
function timerGo() {
seconds++;
if (seconds == 60) {
minutes++;
seconds = 0;
}
if (minutes == 60) {
hours++;
minutes = 0;
}
if (hours == 24) {
days++;
hours = 0;
}
timeelm.innerHTML = days+" days, "+hours+" hours, "+minutes+" minutes and "+seconds+" seconds";
setTimeout(timerGo, 1000);
}
注意:确保您的网页上有一个ID为time
的元素。
查看this fiddle。