Soy un principiante en javascript, lo que estoy tratando de hacer es usar el new Date() y mostrar una hora, minutos y segundos personalizados, pero en la función countDown() tengo que pasar la fecha completa y comienza a contar desde esa fecha.
Mi objetivo es, por ejemplo, dar el número 1 como (hora) y luego debería comenzar la cuenta regresiva.
les agradeceria si alguien me puede ayudar
class Timer { constructor(holder) { var controller = { holder: holder, end: null, intervalID: 0, display: function () { var _second = 1000; var _minute = _second * 60; var _hour = _minute * 60; var _day = _hour * 24; var msg = ""; var now = new Date(); var distance = controller.end - now; if (distance < 0) { clearInterval(controller.intervalID); controller.holder.innerHTML = 'EXPIRED!'; return; } var days = Math.floor(distance / _day); var hours = Math.floor((distance % _day) / _hour); var minutes = Math.floor((distance % _hour) / _minute); var seconds = Math.floor((distance % _minute) / _second); controller.holder.innerHTML = hours + ' Hours | ' + minutes + ' Minutes | ' + seconds + ' Seconds '; } }; this.countDown = function (end) { controller.end = end; controller.intervalID = setInterval(controller.display, 1000); }; } } var timers = {}; timers.one = new Timer(document.getElementById("one")); timers.two = new Timer(document.getElementById("two")); timers.three = new Timer(document.getElementById("three")); //Hier I should be able to give a number timers.one.countDown(new Date("Feb 30, 2022 15:37:25")); timers.two.countDown(new Date(2022, 10, 29, 12, 40, 40)); timers.three.countDown(new Date(2022, 11, 9, 13, 45, 30)); <div id="one"></div> <div id="two"></div> <div id="three"></div>finalmente pude manejar y encontrar una respuesta a esta pregunta, aquí necesitamos convertir el tiempo a segundos y usar el método getTime() , por esta razón necesitamos escribir a la función para hacer este trabajo. A continuación puedes ver el código.
function CreateEndTime(hours, minutes, seconds) { const result = new Date(new Date().getTime() + ConvertInMilliSeconds(hours, minutes, seconds)); return result; } function ConvertInMilliSeconds(hours, minutes, seconds) { const result = (((hours * 60) + minutes) * 60) + seconds; return 1000 * result; }