2016-06-08 28 views
0

我想要一個類似於countTo的jQuery函數或純javascript函數來計算開始到(秒或小數時間)...和輸出日期HH:MM :SSjQuery計數器結果(天HH:mm:ss)

convert_seconds(2681623)=>輸出 「0時53分43秒31D」

或十進制小時

convert_decimalHours(25.555)=>輸出 「1點33分18秒1D」(我想它不正確,但是是這樣的kkkkk)

我更喜歡秒更準確,更容易m anipulate ...

這裏是東西,我試過......

http://jsfiddle.net/5LWgN/105/

而且必須是實時計數器1的1秒計數

String.prototype.toHHMMSS = function() { 
    var sec_num = parseInt(this, 10); // don't forget the second parm 
    var hours = Math.floor(sec_num/3600); 
    var minutes = Math.floor((sec_num - (hours * 3600))/60); 
    var seconds = sec_num - (hours * 3600) - (minutes * 60); 

    if (hours < 10) { 
     hours = "0" + hours; 
    } 
    if (minutes < 10) { 
     minutes = "0" + minutes; 
    } 
    if (seconds < 10) { 
     seconds = "0" + seconds; 
    } 
    var time = hours + ':' + minutes + ':' + seconds; 
    return time; 
} 

var count = '2681623'; 

var counter = setInterval(timer, 1000); 

function timer() { 

    console.log(count); 

    if (parseInt(count) <= 0) { 
     clearInterval(counter); 
     return; 
    } 
    var temp = count.toHHMMSS(); 
    count = (parseInt(count) + 1).toString(); 

    $('#timer').html(temp); 
} 

回答

1

你必須在一些錯誤轉換步驟,有人問過之前,請看here.

var hours = parseInt(totalSec/3600) % 24; 
var minutes = parseInt(totalSec/60) % 60; 
var seconds = totalSec % 60; 

var result = (hours < 10 ? "0" + hours : hours) + "-" + (minutes < 10 ? "0" + minutes : minutes) + "-" + (seconds < 10 ? "0" + seconds : seconds);