PHP从变量中计算计时器

时间:2016-07-17 18:01:31

标签: php timer

我有一个页面显示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)以上述格式输出正常运行时间;但是我想在输出页面后输出从原始输出计数,而不是刷新页面以获得新的正常运行时间。

提前致谢。

1 个答案:

答案 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