Задать вопрос
@EvgenyKabakov

Как получить разницу между двумя датами в днях и в часах в плагине 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("");
  }
});
  • Вопрос задан
  • 318 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Сначала получить разницу между двумя объектами Date в часах.
Затем посмотреть, сколько в эти часы влезает целых суток, и вычесть их.

const diffHours = Math.ceil((endDate - startDate) / 36e5); // точно в бОльшую сторону округлять?
const days = Math.floor(diffHours / 24);
const hours = diffHours - days * 24;

console.log(`Срок аренды: ${days} дней и ${hours} часов`);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы