javascript倒计时脚本,从毫秒到小时 - 分钟 - 秒

时间:2012-07-12 23:02:33

标签: javascript jquery timer

我正在寻找一种简单的方法来将毫秒输出为小时 - 分钟 - 秒。我见过一些插件,但我不想在插件中使用插件,我看过很多倒计时片段,但这些都是使用日期,我使用的不是日期而是毫秒。

感谢。

编辑:我正在寻找一个从xxxx毫秒倒数到零的脚本

//直到现在我有了这个

    diff  = 100000000;

    function showTimer() {

        hours = Math.floor( diff / (1000*60*60) );
        mins  = Math.floor( diff / (1000*60) );
        secs  = Math.floor( diff / 1000 );

        $('.count').html(hours+ 'hours' +minutes + 'minutes' +seconds + ' seconds');
    }

    setInterval(function(){showTimer()}, 1000 );

3 个答案:

答案 0 :(得分:12)

简单的数学。

1000毫秒= 1秒。

60秒= 1分钟。

60分钟= 1小时。

因此,如果你有123456789毫秒,你可以这样做:

123456789/1000(秒),即123456.789

123456.789 / 60(至分钟),即2,057.6

2,057.6 / 60(至小时),即34.29小时。

然后使用余数(.2935525)并将其转换为分钟 - 这是17.61315

再次使用余数(.61315)并将其转为秒...即36.789

因此,简而言之,123456789毫秒等于34小时17分37秒。

我相信你可以自己做JavaScript部分。


好吧,也许你还需要一些帮助。

DEMO http://jsbin.com/eqawam/edit#javascript,html,live

var millis = 123456789;

function displaytimer(){
    //Thank you MaxArt.
    var hours = Math.floor(millis / 36e5),
        mins = Math.floor((millis % 36e5) / 6e4),
        secs = Math.floor((millis % 6e4) / 1000);
        $('.count').html(hours+':'+mins+':'+secs);  
}

setInterval(function(){
    millis -= 1000;
    displaytimer();
}, 1000);

另外,为了进一步阅读 - setInterval可能会漂移。所以不要指望这是100%准确。 Will setInterval drift?

答案 1 :(得分:3)

我不确定你要求的是什么,但是......

var hours = Math.floor(millis / 36e5),
    mins = Math.floor((millis % 36e5) / 6e4),
    secs = Math.floor((millis % 6e4) / 1000);

答案 2 :(得分:0)

看看:http://code.google.com/p/jquery-countdown/

我用过这个。

在Javascript中,您可以执行以下操作

        $('#counter_2').countdown({
      image: 'img/digits.png',
      startTime: '10:59',
      timerEnd: function(){
        alert('The Time Limit for the quiz has expired. Click OK to submit quiz');
        $('#submit_quiz_form').submit(); 
      },
      format: 'mm:ss'
    });

您可以使用上面显示的功能获得时间...我需要在计时器结束时提交表单...如果需要,您可以执行类似操作