Usé el fragmento a continuación para crear un temporizador de cuenta regresiva.
<script> // Set the date we're counting down to var countDownDate = new Date("Jan 5, 2024 15:37:25").getTime(); // Update the count down every 1 second var x = setInterval(function() { // Get today's date and time var now = new Date().getTime(); // Find the distance between now and the count down date var distance = countDownDate - now; // Time calculations for days, hours, minutes and seconds var days = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); // Output the result in an element with id="demo" document.getElementById("demo").innerHTML = days + "d " + hours + "h " + minutes + "m " + seconds + "s "; // If the count down is over, write some text if (distance < 0) { clearInterval(x); document.getElementById("demo").innerHTML = "EXPIRED"; } }, 1000); </script>¿Cómo configuro la salida (pantalla) así:
Si el tiempo restante sigue siendo superior a 1 mes, muestre solo el mes.
Si el tiempo restante es inferior a 1 mes, muestra solo los días,
Si el tiempo restante es inferior a 24 horas, muestra las horas y los minutos
Si el tiempo restante es inferior a 1 hora, muestra los minutos y segundos.
Gracias
primero agregue un cálculo para la cantidad de meses que quedan y luego agregue una función que limite los tiempos así
const displayRemaining = () => { if (/* there are months remaining */) return months + " months"; if (/* there are days remaining */) return days + " days"; if (/* there are hours remaining */) return hours + " hours"; if (/* there are days remaining */) return minutes + ":" + seconds + " m:s"; return "you have gone back in time or smth idk"; }