23 lines
779 B
JavaScript
23 lines
779 B
JavaScript
// Basic dates in dd/mm/yy or dd-mm-yy format.
|
|
// Years can be 4 digits. Days and Months can be 1 or 2 digits.
|
|
(function(){
|
|
var parseDate = function(date) {
|
|
date = date.replace(/\-/g, '/');
|
|
date = date.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/, '$1/$2/$3'); // format before getTime
|
|
|
|
return new Date(date).getTime() || -1;
|
|
};
|
|
|
|
Tablesort.extend('date', function(item) {
|
|
return (
|
|
item.search(/(Mon|Tue|Wed|Thu|Fri|Sat|Sun)\.?\,?\s*/i) !== -1 ||
|
|
item.search(/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/) !== -1 ||
|
|
item.search(/(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)/i) !== -1
|
|
) && !isNaN(parseDate(item));
|
|
}, function(a, b) {
|
|
a = a.toLowerCase();
|
|
b = b.toLowerCase();
|
|
|
|
return parseDate(b) - parseDate(a);
|
|
});
|
|
}()); |