Кажется невозможным узнать, как работает сравнение даты.
Php это, Js - это.
Сравнение дат От - До
У меня есть HTML-таблицы с датами:
2016-02-01 08:16:31
2016-02-01 18:55:52
2016-02-02 15:13:41
...
Теперь я хотел бы построить JS для фильтрации даты из.
Итак, я захватить даты с JQuery в виде текста, и преобразовать его в dateobj:
$('td.datum').each( function() {
//Get this date
thisDate = new Date($(this).text());
...
Далее я использую bootstrap-datepicker
выбрать даты.
Я беру выбранные даты и конвертирую их в дату obj.
dateStart = new Date($('#dateStart').val());
dateEnd = new Date($('#dateEnd').val());
Теперь я сделал, если заявление сортировать даты:
if (thisDate >= dateStart && thisDate <= dateEnd) {
$(this).parent().show();
}
else {
$(this).parent().hide();
}
Моя проблема теперь, что если dateStart является 2016-01-01
и dateEnd является 2016-01-02
только 2016-01-01
будет показано.
Мне нужно установить dateEnd
на номер 2016-01-03
, чтобы показать 2016-01-02
.
Почему это?
Я думал, что <= dateEnd
в моем заявлении if должно включать выбранный dateEnd
?
UPDATE
Мой soloution будет:
//Add one day to dateEnd to get time rigth (00:00:00)
dateEnd.setDate(dateEnd.getDate() + 1);
Я добавлю один день в выбранный день завершения.
Зачем нужны новые даты, если вы хотите отсортировать?YYYY-MM-DD сортируется в алфавитном порядке просто отлично – mplungjan
Если вам просто нужно их сравнить, почему бы просто не использовать метод '.getTime()' объектов Date и сравнить результаты целого? –
@Bearburger Как я это сделаю? –