Как получить количество дней для выбранных дат с помощью средства выбора диапазона дат начальной загрузки?

Я использовал средство выбора диапазона дат начальной загрузки для выбора дат начала и окончания. У меня все нормально работает. Но я хочу добавить количество выбранных дней. Мой код:

$('input[name="daterange"]').daterangepicker({
    dateLimit: {
        days: 9
    },
    linkedCalendars: false,
     startDate : moment().add(1, 'days'),
     minDate: moment().add(1, 'days'),
     /*maxDate: moment().add(30, 'days'),*/
    locale: {
        format: 'MM/DD/YYYY'
    }
});

Как получить количество выбранных дней и показать количество дней в отображаемой области календаря.


person Undefined    schedule 08.11.2017    source источник


Ответы (4)


Может быть, этот пример полезен.

    $('input[name="daterange"]').daterangepicker({
    timePicker: true,
    timePickerIncrement: 30,
    locale: {
             format: 'MM/DD/YYYY h:mm A'
            },        
    }).on('apply.daterangepicker', function(ev, picker) {debugger
                var start = moment(picker.startDate.format('YYYY-MM-DD'));
                var end   = moment(picker.endDate.format('YYYY-MM-DD'));
                var diff = start.diff(end, 'days'); // returns correct number
                alert(diff)});
person Arvind Sisara    schedule 08.11.2017
comment
Спасибо за помощь, но я хочу показать разницу в днях при выборе конечного дня. Эта функция будет запускаться после нажатия кнопки «Применить». - person Undefined; 09.11.2017

Вы можете начать с ответа Арвинда Сисары, а затем установить для параметра autoApply значение true для элемента daterangepicker.

Нравится:

autoApply: true;
person Ricardo Green    schedule 02.08.2018

вы можете использовать функцию примерно так

function days() {
var a = new Date($("#datepicker_start").val()),
b = new Date($("#datepicker_end").val()),
c = 24*60*60*1000,
diffDays = Math.round(Math.abs((a - b)/(c)));
$("#totaldays").val(diffDays);
}
person Vamsi M    schedule 08.11.2017

Функция

function countDays(start, end) {
        return Math.abs(moment(start).diff(moment(end), 'd'));
    }

описано в файле jquery.daterangepicker.js.

person Erik Ghukasyan    schedule 23.12.2019