Как получить разницу в часах между двумя объектами даты? [дубликат]
этот вопрос уже есть ответ здесь:
У меня есть два объекта Date и я хочу, чтобы вычислить разницу в часах.
Если разница в часах составляет менее 18 часов, я хочу, чтобы подтолкнуть объект Date в матрица.
Javascript / jQuery, на самом деле не имеет значения; что работает лучше всего будет делать.
3 ответа:
самым простым способом было бы непосредственно вычесть объекты даты друг из друга.
например:
var hours = Math.abs(date1 - date2) / 36e5;
вычитание возвращает разницу между двумя датами в миллисекундах.
36e5
научная нотация для60*60*1000
, деление на которое преобразует разность миллисекунд в часы.
попробуйте использовать
getTime
(mdn doc):var diff = Math.abs(date1.getTime() - date2.getTime()) / 3600000; if (diff < 18) { /* do something */ }
используя
Math.abs()
мы не знаем, какая дата является наименьшим. Этот код, вероятно, более релевантен:var diff = (date1 - date2) / 3600000; if (diff < 18) { array.push(date1); }