У меня есть 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?
Спасибо всем.