sumar - JavaScript-Obtenga minutos entre dos fechas
restar fechas javascript (7)
Al restar 2 objetos Date, obtiene la diferencia en milisegundos, por ejemplo:
var diff = Math.abs(new Date(''2011/10/09 12:00'') - new Date(''2011/10/09 00:00''));
Math.abs
se usa para poder usar la diferencia absoluta (por lo tanto, la new Date(''2011/10/09 00:00'') - new Date(''2011/10/09 12:00'')
da el mismo resultado).
Si divide el resultado entre 1000, obtendrá la cantidad de segundos. Dividir eso por 60 le da la cantidad de minutos. Para redondear a minutos enteros, use Math.floor
o Math.ceil
:
var minutes = Math.floor((diff/1000)/60);
En este ejemplo, el resultado será 720
Si tengo dos fechas, ¿cómo puedo usar JavaScript para obtener la diferencia entre las dos fechas en minutos?
Eso debería mostrar la diferencia entre las dos fechas en minutos.
const currDate = new Date(''Tue Feb 13 2018 13:04:58 GMT+0200 (EET)'')
const oldDate = new Date(''Tue Feb 13 2018 12:00:58 GMT+0200 (EET)'')
(currDate - oldDate) / 60000 # 64.0026
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 para otros parámetros, consulte la documentación de momento.js.
por ejemplo: "días", "horas", "minutos", etc.
El CDN para moment.js está disponible aquí:
https://cdnjs.com/libraries/moment.js
Gracias.
EDITAR:
mostDate y minorDate deben ser un tipo de momento.
Para aquellos que les gusta trabajar con pequeños números
const today = new Date();
const endDate = new Date(startDate.setDate(startDate.getDate() + 7));
const days = parseInt((endDate - today) / (1000 * 60 * 60 * 24));
const hours = parseInt(Math.abs(endDate - today) / (1000 * 60 * 60) % 24);
const minutes = parseInt(Math.abs(endDate.getTime() - today.getTime()) / (1000 * 60) % 60);
const seconds = parseInt(Math.abs(endDate.getTime() - today.getTime()) / (1000) % 60);
Puede verificar este código:
var today = new Date();
var Christmas = new Date("12-25-2012");
var diffMs = (Christmas - today); // milliseconds between now & Christmas
var diffDays = Math.floor(diffMs / 86400000); // days
var diffHrs = Math.floor((diffMs % 86400000) / 3600000); // hours
var diffMins = Math.round(((diffMs % 86400000) % 3600000) / 60000); // minutes
alert(diffDays + " days, " + diffHrs + " hours, " + diffMins + " minutes until Christmas 2009 =)");
o var diffMins = Math.floor((...
para descartar segundos si no quiere redondear los minutos.
Una función simple para realizar este cálculo:
function getMinutesBetweenDates(startDate, endDate) {
var diff = endDate.getTime() - startDate.getTime();
return (diff / 60000);
}
var startTime = new Date(''2012/10/09 12:00'');
var endTime = new Date(''2013/10/09 12:00'');
var difference = endTime.getTime() - startTime.getTime(); // This will give difference in milliseconds
var resultInMinutes = Math.round(difference / 60000);