Si tengo dos fechas, ¿cómo puedo usar JavaScript para obtener la diferencia entre las dos fechas en minutos?
javascript
datetime
Juan
fuente
fuente
Respuestas:
Puede verificar este código:
o
var diffMins = Math.floor((...
descartar segundos si no desea redondear los minutos.fuente
Math.round(((diffMs % 86400000) % 3600000) / 60000);
no funciona cuando la diferencia es mayor a 60 minutosRestar 2 objetos Date le da la diferencia en milisegundos, por ejemplo:
Math.abs
se usa para poder usar la diferencia absoluta (por lo quenew Date('2011/10/09 00:00') - new Date('2011/10/09 12:00')
da el mismo resultado).Dividir el resultado entre 1000 te da la cantidad de segundos. Dividir eso entre 60 te da la cantidad de minutos. Para redondear a minutos enteros, use
Math.floor
oMath.ceil
:En este ejemplo, el resultado será 720
fuente
(Math.floor(seconds/60))+':'+((seconds/60)%60)
si necesita los segundos restantes tambiénnew Date(string)
con un formato que no sea una cadena de formato ISO-8601. Consulte ¿Por qué Date.parse da resultados incorrectos? , o simplemente use números (por ejemplo,new Date(2011, 9, 9, 12, 0, 0)
solo recuerde que los meses están basados en 0).fuente
new Date(string)
con un formato que no sea una cadena de formato ISO-8601. Consulte ¿Por qué Date.parse da resultados incorrectos? , o simplemente use números (por ejemplo,new Date(2011, 9, 9, 12, 0, 0)
solo recuerde que los meses están basados en 0).Una función simple para realizar este cálculo:
fuente
Eso debería mostrar la diferencia entre las dos fechas en minutos. Pruébalo en tu navegador:
fuente
(currDate.getTime() - oldDate.getTime()) / 60000
Para aquellos que les gusta trabajar con números pequeños.
fuente
Este problema se resuelve fácilmente con moment.js, como este ejemplo:
var difference = mostDate.diff(minorDate, "minutes");
El segundo parámetro se puede cambiar por otros parámetros, consulte la documentación de moment.js.
por ejemplo: "días", "horas", "minutos", etc.
http://momentjs.com/docs/
El CDN para moment.js está disponible aquí:
https://cdnjs.com/libraries/moment.js
Gracias.
EDITAR:
mostDate y minorDate deberían ser un tipo de momento.
fuente
Aquí hay algo de diversión que tuve resolviendo algo similar en el nodo.
Puede verlo en acción en https://repl.it/@GioCirque/TimeSpan-Formatting
fuente
El siguiente código funcionó para mí,
fuente
Puedes hacer lo siguiente:
difference of dates
(la diferencia será en milisegundos)milliseconds
enminutes
iems/1000/60
El código:
fuente