7

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

谢谢。

编辑:我正在寻找一个从 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 );
4

3 回答 3

13

简单的数学。

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 部分。


好吧,也许你需要更多帮助。

演示: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% 准确的。setInterval 会漂移吗?

于 2012-07-12T23:08:07.760 回答
3

我不确定你在问什么,但是...

var hours = Math.floor(millis / 36e5),
    mins = Math.floor((millis % 36e5) / 6e4),
    secs = Math.floor((millis % 6e4) / 1000);
于 2012-07-12T23:08:00.053 回答
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'
    });

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

于 2012-07-12T23:31:45.443 回答