El temporizador debe inicializarse y los segundos deben incrementarse cada segundo. ¿Alguien me puede ayudar? No estoy seguro de lo que está pasando.
function timer(){ let seconds = "00"; let minutes = "00"; let hours = "00"; let fulltime = `${hours}:${minutes}:${seconds}`; const incrementSeconds = () => { secondsAsNumber = parseInt(seconds) + 1; seconds = secondsAsNumber.toString(); } const displayTime = () => { console.log(fulltime); } setInterval(() => { incrementSeconds(); displayTime(); }, 1000); } timer();Registra:
00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00Esto es lo que necesitas
function timer() { let seconds = "0"; let minutes = "0"; let hours = "0"; let fulltime = `${hours}:${minutes}:${seconds}`; const incrementSeconds = () => { let secondsAsNumber = parseInt(seconds) + 1; seconds = secondsAsNumber.toString(); if (seconds > 59) { minutes = parseInt(minutes) + 1; seconds = 0; } if (minutes > 59) { hours = parseInt(hours) + 1; minutes = 0; } // Update fulltime variable fulltime = `${hours < 10 ? "0" + hours : hours}:${ minutes < 10 ? "0" + minutes : minutes }:${seconds < 10 ? "0" + seconds : seconds}`; }; const displayTime = () => { console.log(fulltime); }; setInterval(() => { incrementSeconds(); displayTime(); }, 1000); } timer();Actualice su variable de fulltime después de incrementar los segundos:
function timer(){ let seconds = "00"; let minutes = "00"; let hours = "00"; let fulltime = `${hours}:${minutes}:${seconds}`; const incrementSeconds = () => { secondsAsNumber = parseInt(seconds) + 1; seconds = secondsAsNumber.toString(); // Update fulltime variable fulltime = `${hours}:${minutes}:${seconds < 10 ? "0" + seconds : seconds}`; } const displayTime = () => { console.log(fulltime); } setInterval(() => { incrementSeconds(); displayTime(); }, 1000); } timer();Entonces debería salir:
00:00:01 00:00:02 00:00:03 00:00:04 00:00:05 ... and so on ...