Разница между датами JS
Даты, представленные в виде объекта Date , можно вычитать друг из друга, результат их вычитания — разница в миллисекундах. Смотрите пример:
let now = new Date(); let date = new Date(2015, 23, 4, 12, 59, 59); let diff = now — date; console.log(diff); // выведет разницу в мс
Смотрите также
- урок
сравнение дат - урок
форматирование дат
Трепачёв Дмитрий © 2012-2023
t.me/trepachev_dmitry
Как получить разницу между двумя датами в днях и в часах в плагине datetimepicker?
Всем доброго времени суток! Прошу помочь с таким вопросом:
На сайте используется плагин datetimepicker для выбора даты начала аренды и даты окончания,
можно выбирать даты и точное время.
Нужно получить разницу между двумя выбранными датами в количестве дней и в точном количестве часов.
Количество дней вроде получилось высчитать, а количество часов не получается
Есть такой код:
$("#startdate").datetimepicker(< minTime: 0, minDate: date >); $("#enddate").datetimepicker(< minTime: 0, minDate: date >); $('#enddate').change(function() < var startDate = $('#startdate').datepicker('getDate'); var endDate = $('#enddate').datepicker('getDate'); if (startDate < endDate) < var dayDiff = Math.ceil((endDate - startDate) / (1000 * 60 * 60 * 24)); console.log(dayDiff); var hoursDiff = (dayDiff * 24) / 60; console.log(hoursDiff); >else < alert ("Извините, нельзя выбрать дату окончания аренды ранее даты начала аренды"); $('#enddate').val(""); $('#days').val(""); >>);
- Вопрос задан более года назад
- 229 просмотров
Комментировать
Решения вопроса 1
Сергей Соколов @sergiks Куратор тега JavaScript
Сначала получить разницу между двумя объектами Date в часах.
Затем посмотреть, сколько в эти часы влезает целых суток, и вычесть их.
const diffHours = Math.ceil((endDate - startDate) / 36e5); // точно в бОльшую сторону округлять? const days = Math.floor(diffHours / 24); const hours = diffHours - days * 24; console.log(`Срок аренды: $ дней и $ часов`);
Ответ написан более года назад
Нравится 1 1 комментарий
Как найти разницу между двумя датами в месяцах?
Нужно найти разницу между двумя датами в месяцах. Есть такое решение:
let date1 = new Date(1980,01,26,23,59,59); let date2 = new Date(2020,07,16,23,59,59); let diff = date1.getTime() - date2.getTime(); console.log(diff/(1000 * 60 * 60 * 24 * 31 ));
Но оно не совсем подходит, поскольку в месяце может быть и 30 и 28 и 29 дней. С помощью каких методов можно решить данную задачу?
- Вопрос задан более трёх лет назад
- 1433 просмотра
Упражнение JavaScript | Получить разницу во времени в годах между двумя датами

Получить разницу во времени в годах между двумя датами
Напишите функцию JavaScript, чтобы получить разницу во времени в годах между двумя датами.
Пример ввода:
dt1 = new Date(«June 13, 2017 08:11:00»);
dt2 = new Date(«October 19, 2020 17:11:00»);
document.write(diff_years(dt1, dt2));
Вывод:
3
Выполнить код » Скрыть результаты
Примечание: Метод getTime() возвращает числовое значение, соответствующее указанной дате по всемирному координированному времени. Вы можете использовать этот метод для того, чтобы присвоить дату и время другому объекту Date.

Есть другой способ решить эту задачу? Разместите свой код (и комментарии) через Disqus.
Комментарии
пожелания к комментариям…
- Приветствуются комментарии, соответствующие теме урока: вопросы, ответы, предложения.
- Одну строчку кода оборачивайте в тег
, несколько строчек кода — в теги. ваш код..
- Допускаются ссылки на онлайн-песочницы (codepen, plnkr, JSBin и др.).