Рассчитать количество дней между выбранной датой и текущей датой, используя указатель даты и времени AngularJs - PullRequest
0 голосов
/ 05 февраля 2019

Я использую загрузчик даты и времени в angularjs

Я отключил несколько дней, используя опцию dateDisabled выбора даты, как этот

        $scope.dateOptions = {
        dateFormat: 'yyyy-MM-dd',
        maxDate: new Date(2020, 5, 22),
        minDate: new Date(),
        startingDay: 1,
        onChangeDate: countDays,
        dateDisabled: function (data) {
            var date = new Date(data.date)
            date.setHours(0, 0, 0, 0)

            var date2 = new Date('2019-02-08')
            date2.setHours(0, 0, 0, 0)

            return (date == date2.toString());
        }
    };

Теперь нужнорассчитать количество дней между выбранной датой и текущей датой на основе средства выбора даты, т.е. отключенная дата не должна учитываться при подсчете дней.

enter image description here

Если я выбрал дату как 10 февраля 2019 года, то количество дней, которое будет считаться как 4 (с использованием текущей даты - 5 февраля 2019 года).

, но оно приходит как 5

Функция получения звонков, когда я выбираю дату из средства выбора даты

 function countDays(dateTime) {
     var fourDaysLater = new Date();

     fourDaysLater.setDate(dateTime.getDate() - 4);
    }

Как считать даты, которые включены в окне выбора даты?

1 Ответ

0 голосов
/ 23 февраля 2019

Ответ на ваш вопрос

Как считать даты, включенные в палитре дат?

Вы отключили даты с помощью палитры дат, но при подсчетеколичество дней между двумя датами, когда вы используете новую дату (), которая не может получить доступ к дате вашего выбора даты.

Вы можете сделать что-то вроде этого -

function countDays(dateTime) {

     // Current date
     var currentDate = new Date().setHours(0, 0, 0, 0);

     // Selected date
     var selectedDate = new Date(dateTime).setHours(0, 0, 0, 0);

     // Count working days between selected date and current date
     while (currentDate < selectedDate) {

            if (currentDate != new Date('2019-02-08').setHours(0, 0, 0, 0)) {
                ++workingDays;
            }
            currentDate.setDate(currentDate.getDate() + 1);
        }
    }

   alert(workingDays);  // Number of working days

Подсчитать количество днеймежду двумя днями и исключить

...