2012-07-12 70 views
7

Tôi đang tìm cách dễ dàng để xuất mili giây thành giờ-phút-giây. Tôi đã thấy một số plugin nhưng tôi không muốn sử dụng plugin trong plugin và tôi đã thấy rất nhiều đoạn trích đếm ngược nhưng chúng đang sử dụng ngày tháng, tôi đang sử dụng không phải là ngày mà là mili giây.tập lệnh đếm ngược javascript từ mili giây đến giờ-phút-giây

Cảm ơn.

EDIT: tôi đang tìm kiếm một kịch bản mà đếm lại từ mili giây xxxx để zero

// cho đến bây giờ tôi có điều này

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

Bạn sẽ cần sử dụng Ngày để có bộ đếm thời gian đáng tin cậy? – Bergi

Trả lời

12

Toán đơn giản.

1000 mili giây = 1 giây.

60 giây = 1 phút.

60 phút = 1 giờ.

Vì vậy, nếu bạn có 123456789 mili giây, bạn muốn làm điều gì đó như:

123456789/1000 (đến giây) mà là 123456,789

123456,789/60 (phút) là 2,057.6

2,057,6/60 (đến giờ) là 34,29 giờ.

Sau đó sử dụng phần còn lại (0,2935525) và tắt chức năng này vào phút - đó là 17,61315

Sử dụng thời gian còn lại một lần nữa (0,61315) và biến nó đến giây ... đó là 36,789

Vì vậy, trong ngắn hạn, 123456789 mili giây bằng 34 giờ, 17 phút và 37 giây.

Tôi chắc chắn bạn có thể tự mình thực hiện phần JavaScript.


Có thể bạn cần thêm trợ giúp.

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

Ngoài ra, để đọc thêm - setInterval có thể trôi dạt. Vì vậy, đừng mong đợi điều này là chính xác 100%. Will setInterval drift?

+0

tôi biết định dạng, nhưng tôi không biết làm thế nào để làm cho nó năng động ;-) – user759235

+0

@ user759235 - chỉnh sửa ở trên, ví dụ. – ahren

+0

Cảm ơn những gì tôi đang tìm kiếm. Có tôi biết nó không chính xác, nhưng tôi có thể sống với một hoặc 2 giây differents ;-) – user759235

3

Tôi không chắc chắn về những gì bạn đang yêu cầu cho , nhưng ...

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

hy vọng bạn không nhớ, tôi ghi có mã của bạn trong câu trả lời của tôi. – ahren

+0

Tất nhiên là không, bạn đã ghi có. – MaxArt

0

Hãy xem tại địa chỉ: http://code.google.com/p/jquery-countdown/

Tôi đã sử dụng này.

Trong javascript bạn có thể làm như sau

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

Bạn có thể có được thời gian sử dụng các chức năng hiển thị ở trên ... Tôi cần một hình thức phải nộp khi bộ đếm thời gian kết thúc ...bạn có thể làm điều gì đó tương tự nếu cần

+0

đây là một plugin vì vậy tôi không thể sử dụng nó, nhưng cảm ơn làm – user759235

+0

ohh xin lỗi. .. didnt đọc câu hỏi một cách cẩn thận !! – jsshah

Các vấn đề liên quan