Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

183
Vistas
Obtenga la cantidad de milisegundos entre ahora y la próxima hora fija usando MomentJS

Necesito obtener la cantidad de milisegundos entre ahora y cualquier tiempo fijo en el futuro.

Este es un ejemplo de exactamente lo que necesito:

  1. Obtenga la cantidad de milisegundos entre ahora y las próximas 6 a.m.
  2. Obtenga la cantidad de milisegundos entre ahora y las próximas 12:00 p. m.
  3. Obtenga la cantidad de milisegundos entre ahora y las próximas 9 p.m.

Por favor, ¿cómo puedo lograr esto usando momentjs o simplemente usando la fecha de Javascript vainilla?

Gracias.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

La API de fecha de JavaScript puede hacer el trabajo con bastante facilidad.

Necesitarás:

  • Obtener la hora y los minutos actuales (logrado con el constructor Date() y los getHours() y getMinutes() )

  • Compruebe si la ocurrencia de la próxima hora en particular es hoy o no. Esto se hace comprobando si la hora actual es mayor que esa hora en particular. Si es así, sabemos que la próxima ocurrencia de esta hora es mañana. De lo contrario, verifique si los minutos son 0. Si es así, esa hora en particular es ahora. De lo contrario, es al día siguiente. Todo esto se simplifica enormemente con el uso de un operador ternario.

  • Calcule la diferencia simplemente restando el objeto Fecha futura por el objeto Fecha presente.

 const now = new Date(); const hours = now.getHours(); const minutes = now.getMinutes(); var next6AM; var next12PM; var next9PM; next6AM = new Date(now.getFullYear(), now.getMonth(), now.getDate() + (hours > 5 || hours == 5 && minutes != 0 ? 1 : 0), 5); next12PM = new Date(now.getFullYear(), now.getMonth(), now.getDate() + (hours > 11 || hours == 11 && minutes != 0 ? 1 : 0), 12); next9PM = new Date(now.getFullYear(), now.getMonth(), now.getDate() + (hours > 20 || hours == 20 && inutes != 0 ? 1 : 0), 20); const next6AMdiff = next6AM - now; const next12PMdiff = next12PM - now; const next9PMdiff = next9PM - now; console.log('Milliseconds until next 6AM:', next6AMdiff) console.log('Milliseconds until next 12PM:', next12PMdiff) console.log('Milliseconds until next 9PM:', next9PMdiff)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Aquí hay un ejemplo de cómo obtener el ms entre dos objetos de fecha.

Tenga en cuenta que convertir .valueAsDate en un objeto de fecha no es necesario porque el valor es un objeto de fecha de forma predeterminada.

Los objetos de fecha son "la cantidad de milisegundos que han transcurrido desde la medianoche del 1 de enero de 1970, UTC"

 const $ = str => document.querySelector(str); $("button").addEventListener("click", () => { const date1 = new Date($("#d1").valueAsDate); const date2 = new Date($("#d2").valueAsDate); const msDiff = Math.abs(date1 - date2); $("#ms").textContent = msDiff; $("#day").textContent = msDiff / 1000 / 60 / 60 / 24; });
 <input type="date" id="d1"> <input type="date" id="d2"> <button>diff</button> <p id="ms"></p> <p id="day"></p>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda