2012-07-12 195 views
7

我正在尋找一種簡單的方法來將毫秒輸出爲小時 - 分鐘 - 秒。我看過一些插件,但我不想在插件中使用插件,而且我看到很多倒計時片段,但這些都是使用日期,我使用的不是日期,而是毫秒。從幾毫秒到幾分鐘秒的JavaScript倒計時腳本

謝謝。

編輯:我在尋找計數從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); 
+0

您將需要使用日期爲一個可靠的計時器,你可以做同樣的事情? – Bergi 2012-07-12 23:42:58

回答

12

簡單的數學。

1000毫秒= 1秒。

60秒= 1分鐘。

60分鐘= 1小時。

所以,如果你有123456789毫秒,你會做這樣的事情:

123456789/1000(到秒),這是123456.789

123456.789/60(以分鐘),這是2,057.6

2,057.6/60(小時)即34.29小時。

然後用餘數(0.2935525),並把它變成分鐘 - 這是17.61315

再次使用餘數(0.61315),並把它轉化爲秒......這是36.789

所以,總之,123456789毫秒等於34小時17分37秒。

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


好吧,也許你需要一些更多的幫助。

DEMOhttp://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?

+0

我知道格式,但我不知道如何使它動態;-) – user759235 2012-07-12 23:35:08

+0

@ user759235 - 上面編輯,以實例。 – ahren 2012-07-12 23:49:31

+0

由於這是我期待的。是的,我知道它的不準確的,但我可以生活一個或2秒型動物;-) – user759235 2012-07-13 00:31:49

3

我不知道你問什麼,但是......

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

希望你不介意的話,我記你的代碼在我的答案。 – ahren 2012-07-12 23:50:15

+0

當然不是,你給了功勞。 – MaxArt 2012-07-13 00:04:20

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' 
    }); 

可以使用上面顯示的功能得到了時間......我需要一個形式,當計時器結束時提交...如果需要的話

+0

這是一個插件,所以我不能使用它,但由於做 – user759235 2012-07-12 23:33:37

+0

喔遺憾。 ..沒有仔細閱讀這個問題! – jsshah 2012-07-12 23:37:16