Проблема с реальными значениями даты и времени (UTC) - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть 2 средства выбора даты в формате 'el', и когда я выбираю дату, они фильтруют данные (данные [4], дата со временем) следующим образом:

    $.fn.dataTable.ext.search.push(
    function (settings, data, dataIndex) {
        //var min = $("#apo").datepicker.val(); 
        //var max = $("#ews").datepicker.val();
        var min = $('#apo').datepicker("getDate");
        var max = $('#ews').datepicker("getDate");
        var startDate = new Date(data[4]);
        if (min == null && max == null) { return true; }
        if (min == null && startDate <= max) { return true;}
        if (max == null && startDate >= min) {return true;}
        if (startDate <= max && startDate >= min) { return true; }
        return false;
    });

Когда страница загружается,2 datepicker имеют значения NULL, а в дататабле показаны все записи.

         $("#apo").datepicker({ language: 'el', autoclose: true, onSelect: function () { table.draw(); }}); 
         $("#ews").datepicker({ language: 'el', autoclose: true, onSelect: function () { table.draw(); }});

         $('#apo, #ews').change(function () {
            table.draw();
         }); 

Когда я выбираю дату из средства выбора даты, фильтры работают нормально, но даты, которые я получаю (с console.log), выглядят так:

   Date 2018-10-31T22:00:00.000Z 

и в консоли этопоявляется много раз, около 100 раз.

1) Почему дата появляется так много раз в консоли?2) в чем разница между

  $("#ews").datepicker.val(); 

и

  $('#apo').datepicker("getDate");

Первая строка возвращает, а вторая Дата?

3) Я хотел бы получить дату из2-й DatePicker, чтобы добавить +1 день к выбранной дате, чтобы я мог фильтровать правильно, потому что, если я выбираю один и тот же день в обоих DatePickers, он возвращает 0 записей. Как я могу добиться этого?

4) Наконец, время, которое я получаю от Datepicker - это дата 2018-10-31T22: 00: 00.000Z, которая является временем UTC. Вот, мы +02: 00, как я могу заставить его показывать правильное время, а не UTC?я использую moment.js?

Спасибо всем.

...