這是時間:
01:02:25,369
我想從中減去 10 秒,所以回傳值應該是:
01:02:15,369
我知道我必須撰寫一個函式來做到這一點,但是當秒數小于 10 時,事情會變得困難,因此您還必須減去分鐘和小時。
uj5u.com熱心網友回復:
您可以將其轉換為毫秒,然后隨心所欲地添加或減去。如果需要,然后創建一個渲染函式將其轉換回字串。
function getTotalMS(timeString) {
const [hms, ms] = timeString.split(',');
const [h, m, s] = hms.split(':');
return parseInt(ms) * 1
parseInt(s) * 1000
parseInt(m) * 60 * 1000
parseInt(h) * 60 * 60 * 1000;
}
function renderTime(ms) {
const h = Math.floor(ms / (60 * 60 * 1000)); ms -= h * 60 * 60 * 1000;
const m = Math.floor(ms / (60 * 1000)); ms -= m * 60 * 1000;
const s = Math.floor(ms / (1000)); ms -= s * 1000;
return `${h<10?'0':''}${h}:${m<10?'0':''}${m}:${s<10?'0':''}${s},${ms}`;
}
// subtracting 10 seconds
let totalTime = getTotalMS('01:02:25,369');
totalTime -= 10 * 1000;
console.log(renderTime(totalTime));
可能可以優化,但這是一個起點
uj5u.com熱心網友回復:
把它變成一個Date,然后減去 10000 (不要重新發明輪子)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/368969.html
標籤:javascript 功能
