Cuando ejecuto lo siguiente, muestra la cuenta regresiva como se esperaba y comienza la cuenta regresiva. Pero cuando la cuenta regresiva llega a 0, se reinicia a las 59:00 y no aparece el texto "Caducado".
Quiero mostrar un reloj de cuenta regresiva en mm: ss para la diferencia entre las marcas de tiempo " now " y " exam_end_time ". Una vez que se complete, debería detenerse por completo y debería mostrarse el texto.
Donde la hora ahora es 15:01:00 - La cuenta regresiva debería comenzar a las 04:00
<div id="demo"></div> <script> var diff = document.getElementById('demo'); var now = moment.utc().format("YYYY-MM-DD HH:mm:ss"); var input_time = '2022-07-01 15:00:00'; var exam_end_time ='2022-07-01 15:05:00'; var mins = moment.utc(moment(exam_end_time, "HH:mm"),diff(moment(now, "HH:mm"))).format("mm") var frequency = mins*60 var refreshIntervalId = setIntervan(() => { const formatted = moment.utc(frequency--*1000.format("mm:ss"); diff.innerHTML = formatted; }, 1000; // When countdown hits zero. Stop the clock and show "Expired" setTimeout(() => { if(mins === ) { diff.innerHTML = "Expired"; clearInterval(refreshIntervalId); }},frequency*1000; </script>