这个时间脚本可以自动更新吗?

时间:2014-02-25 20:45:00

标签: javascript time

我使用以下脚本在我的网站上显示当前时间:

<script type="text/javascript">
<!--

    var currentTime = new Date()
    var hours = currentTime.getHours()
    var minutes = currentTime.getMinutes()
    if (minutes < 10)
        minutes = "0" + minutes
    var suffix = "AM";
    if (hours >= 12) {
        suffix = "PM";
        hours = hours - 12;
    }
    if (hours == 0) {
        hours = 12;
    }

    document.write("<b>" + hours + ":" + minutes + " " + suffix + "</b>")
//-->
</script>

但是,我需要刷新页面才能有时间更新。我可以自动每分钟刷新一次,以便保持最新状态吗?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用setInterval让该代码每隔x毫秒执行一次:

function setTime() {
    var currentTime = new Date()
    var hours = currentTime.getHours()
    var minutes = currentTime.getMinutes()
    if (minutes < 10)
        minutes = "0" + minutes
    var suffix = "AM";
    if (hours >= 12) {
        suffix = "PM";
        hours = hours - 12;
    }
    if (hours == 0) {
        hours = 12;
    }

    document.write("<b>" + hours + ":" + minutes + " " + suffix + "</b>")
}

setInterval(setTime, 60000);

注意,使用document.write通常是不好的做法。更好的方法是在页面上静态显示显示的元素,并在方法中更新它。

document.getElementById('currentTime').innerText = hours + ":" + minutes + " " + suffix; 

这是一个有效的Fiddle Demo