计数器计数用时刻js实现

时间:2018-01-21 18:31:34

标签: javascript momentjs

我正在尝试在00:00:00(hh:mm:ss)开始实施一个计数器并在一个范围内每隔一秒显示一次。我不是以小时= 00开始的。它在开始时显示我10:00:00。

代码如下:

var startTimestamp;
function startTimer()
{
    var startTimestamp = moment().startOf("day");
    setInterval(function() {
        startTimestamp++;
        document.getElementById('timer').innerHTML = 
            moment.unix(startTimestamp).format('hh:mm:ss');
    }, 1000);
}

知道为什么它不起作用?

1 个答案:

答案 0 :(得分:5)

由于startTimestamp是时刻对象,您可以使用add()修改其值,而不是使用startTimestamp++。请注意add()

  

通过增加时间来改变原始时刻。

然后没有理由使用moment.unix(),您可以在startTimestamp上使用format()

最后,正如format()文档所述,小写hh代表01 02 ... 11 12小时,而大写HH代表00 01 ... 22 23,所以我认为你必须使用后者。

这是一个实时样本:



function startTimer()
{
    var startTimestamp = moment().startOf("day");
    setInterval(function() {
        startTimestamp.add(1, 'second');
        document.getElementById('timer').innerHTML = 
            startTimestamp.format('HH:mm:ss');
    }, 1000);
}

startTimer();

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.20.1/moment.min.js"></script>

<div id="timer"></div>
&#13;
&#13;
&#13;