Aquí está el tiempo:
01:02:25,369
Quiero restarle 10 segundos, por lo que el valor de retorno debería ser:
01:02:15,369
Sé que tengo que escribir una función para hacerlo, pero las cosas se ponen difíciles cuando los segundos son <10, así que también tienes que restar minutos y horas.
Simplemente puede convertirlo a milisegundos y luego sumar o restar lo que quiera. Y luego haga una función de procesamiento para convertirlo nuevamente en una cadena si lo necesita.
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));probablemente podría optimizarse, pero aquí hay un punto de partida