Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

179
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!