Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

101
Visualizações
Temporizador de cuenta regresiva cada 15 minutos en la hora

Tengo un seminario web que se ejecuta cada 15 minutos de cada hora del día (EG: 11:00, 11:15, 11:30 y 11:45).

Me gustaría un temporizador de cuenta regresiva que muestre los minutos restantes hasta la próxima hora de inicio y todo lo que puedo encontrar después de días de búsquedas y tratando de resolver esto por mí mismo es una cuenta regresiva por hora.

Mi pregunta es, ¿cómo actualizo este código para que sea cada 15 minutos, no cada 60?

 <script> /* Return minutes and seconds to next hour ** @returns {Object} minutes: minutes remaining ** seconds: seconds remaining */ function getTimeRemaining() { var t = Date.now(); var seconds = (60 - Math.floor(t % 6e4 / 1e3)) % 60; var minutes = 60 - Math.ceil(t % 3.6e6 / 6e4) + (seconds? 0:1); return { 'minutes': ('0' + minutes).slice(-2), 'seconds': ('0' + seconds).slice(-2) }; } // Simple show remaining function function showRemaining() { var r = getTimeRemaining(); document.getElementById('clock').textContent = (r.minutes + ':' + ('0' + r.seconds).slice(-2)); // Run again just after next full second setTimeout(showRemaining, 1020 - (Date.now() % 1000)); } showRemaining(); </script>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Esa solución parece demasiado complicada y definitivamente debería usar setInterval para una tarea en la que tiene que actualizar algo cada x segundos, llamar recursivamente a setTimeout es una mala idea. Aquí hay una solución que es mucho más comprensible:

 const runEvery = 15 * 60; // 15 minutes in seconds const showRemaining = () => { // get current time in seconds and find when the next run starts in seconds const seconds = Math.round(Date.now() / 1000); const nextRun = runEvery * Math.ceil(seconds / runEvery); const timeLeft = nextRun - seconds; const minutesLeft = Math.floor(timeLeft / 60); const secondsLeft = timeLeft % 60; document.getElementById('clock').textContent = minutesLeft + ':' + ('0' + secondsLeft).slice(-2); } showRemaining(); setInterval(showRemaining, 1000);
 <div id="clock"></div>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda