I'm trying to sort some a data by date. the data is actually saved in HTML under a div --> span. However, I've made the following function but for some reason, it's not working on them as correct as I expect it to be.
case "Import_Date_asc":
var elems = $.makeArray($review_items);
elems.sort(function(a, b) {
var a_date = $(a).find('.panel-heading .data-source').text(),
b_date = $(b).find('.panel-heading .data-source').text();
a_date = a_date.split(' / ');
a_date = a_date[1].split(' UTC');
b_date = b_date.split(' / ');
b_date = b_date[1].split(' UTC');
console.log(a_date[0], b_date[0]);
//return new Date(a_date[0]) > new Date(b_date[0]);
return Date.parse(a_date[0]) > Date.parse(b_date[0]);
});
$review_container.html(elems);
break;
case "Import_Date_desc":
var elems = $.makeArray($review_items);
elems.sort(function(a, b) {
var a_date = $(a).find('.panel-heading .data-source').text(),
b_date = $(b).find('.panel-heading .data-source').text();
a_date = a_date.split(' / ');
a_date = a_date[1].split(' UTC');
b_date = b_date.split(' / ');
b_date = b_date[1].split(' UTC');
console.log(a_date[0], b_date[0]);
//return new Date(a_date[0]) < new Date(b_date[0]);
return Date.parse(a_date[0]) < Date.parse(b_date[0]);
});
$review_container.html(elems);
break;
The html looks like this :
<div class="review-item panel panel-primary" data-ldn="8643" data-pse="43460">
<div class="panel-heading">
<span class="data-title">Dom(i23)</span>
<span class="data-source pull-right">Import / 2017-12-07 14:35 UTC</span>
</div></div>
please if you know what am I doing wrong in here will be very aprociated.