我基本上有一個完成的秒錶,除了毫秒之外工作。我只想在毫秒內顯示2位數字,但我遇到問題。這是我用來格式化我的時間輸出的功能:在JS秒錶中格式化毫秒
function timeFormatter(timeInMilliseconds) {
var time = new Date(timeInMilliseconds);
var minutes = time.getMinutes().toString();
var seconds = time.getSeconds().toString();
var milliseconds = time.getMilliseconds().toString().slice(0, 2);
if (minutes.length < 2) { minutes = '0' + minutes; }
if (seconds.length < 2) { seconds = '0' + seconds; }
if (milliseconds.length < 2) { milliseconds = '0' + milliseconds; }
return minutes + ' : ' + seconds + ' . ' + milliseconds;
}
問題:
當我給這個函數的3093
例如輸入,輸出爲00 : 03 . 93
當我給函數輸入3105
(應該比前面的要大),輸出是00 : 03 . 10
。換句話說,我的秒錶正在回退幾毫秒。
我不知道如何去解決這個問題,任何幫助將不勝感激。
當你給輸入作爲3105的輸出將是00:3 .105,因爲你是從毫秒是越來越轉換爲00只服用2個數字:3 0.10你需要改變你的邏輯據此來處理這一點。 – Murli
最簡單的是'('00'+毫秒).slice(-3)'。 – RobG
我明白爲什麼這個問題正在發生,我只是不確定如何解決它,而只使用2位數毫秒。 – saadq