2014-10-11 42 views
-1

我想知道如何使用date.now創建一個簡單的向上計時器。 我想使用date.now()來查找開始時間和date.now()來獲取當前時間,並減去兩個來獲得流逝的時間在JavaScript?如何在JS中使用date.now()創建秒錶?

+2

是的,這正是你如何做到的。你有沒有嘗試過? – Bergi 2014-10-11 18:57:43

回答

0

這裏是我剛剛構建的一個,按底部的「運行代碼片段」進行測試。評論你是否需要進一步解釋。

var prevTime, stopwatchInterval, elapsedTime = 0; 
 

 
var updateTime = function() { 
 
    var tempTime = elapsedTime; 
 
    var milliseconds = tempTime % 1000; 
 
    tempTime = Math.floor(tempTime/1000); 
 
    var seconds = tempTime % 60; 
 
    tempTime = Math.floor(tempTime/60); 
 
    var minutes = tempTime % 60; 
 
    tempTime = Math.floor(tempTime/60); 
 
    var hours = tempTime % 60; 
 
    
 
    var time = hours + " : " + minutes + " : " + seconds + "." + milliseconds; 
 
    
 
    $("#time").text(time); 
 
}; 
 

 
$("#startButton").click(function() { 
 
    if (!stopwatchInterval) { 
 
    stopwatchInterval = setInterval(function() { 
 
     if (!prevTime) { 
 
     prevTime = Date.now(); 
 
     } 
 
     
 
     elapsedTime += Date.now() - prevTime; 
 
     prevTime = Date.now(); 
 
     
 
     updateTime(); 
 
    }, 50); 
 
    } 
 
}); 
 

 
$("#pauseButton").click(function() { 
 
    if (stopwatchInterval) { 
 
    clearInterval(stopwatchInterval); 
 
    stopwatchInterval = null; 
 
    } 
 
    prevTime = null; 
 
}); 
 

 
$("#resetButton").click(function() { 
 
    $("#pauseButton").click(); 
 
    elapsedTime = 0; 
 
    updateTime(); 
 
}); 
 

 
$(document).ready(function() { 
 
    updateTime(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
Time: <span id="time"></span><br> 
 

 
<button id="startButton">Start</button> 
 
<button id="pauseButton">Pause</button> 
 
<button id="resetButton">Reset</button>

1

我沒有看到Winestone的回答讓我在jsFiddle做出了表率。

簡而言之反正:

var start=Date.now(), 
stop=Date.now(), 
diff=stop-start; 

所有剩餘擺弄你可能需要的是在毫秒格式化時間體面,並得到啓動和停止之間的延遲通緝。