Time (dd/mm/YY)
Sort Times in the formats: hh:mm, hh:mm:ss, hh:mm tt, hh:mm:ss tt
e.g. '22:50, 22:50:40, 10:50 pm, 10:50:40 pm'
am and pm are not case sensitive. white space is not compulsory
- Author: David Stoneham
- Deprecated: This plug-in has been deprecated and replaced with other functionality. Please see the detailed description below for more information.
This plug-in provides the ability to sort columns that contains time information in the most common formats used. It will automatically detect those date types.
Please note that this plug-in is **deprecated*. The datetime plug-in provides enhanced functionality and flexibility.
Plug-in code
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
"time-uni-pre": function (a) {
var uniTime;
if (a.toLowerCase().indexOf("am") > -1 || (a.toLowerCase().indexOf("pm") > -1 && Number(a.split(":")[0]) === 12)) {
uniTime = a.toLowerCase().split("pm")[0].split("am")[0];
while (uniTime.indexOf(":") > -1) {
uniTime = uniTime.replace(":", "");
}
} else if (a.toLowerCase().indexOf("pm") > -1 || (a.toLowerCase().indexOf("am") > -1 && Number(a.split(":")[0]) === 12)) {
uniTime = Number(a.split(":")[0]) + 12;
var leftTime = a.toLowerCase().split("pm")[0].split("am")[0].split(":");
for (var i = 1; i < leftTime.length; i++) {
uniTime = uniTime + leftTime[i].trim().toString();
}
} else {
uniTime = a.replace(":", "");
while (uniTime.indexOf(":") > -1) {
uniTime = uniTime.replace(":", "");
}
}
return Number(uniTime);
},
"time-uni-asc": function (a, b) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"time-uni-desc": function (a, b) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
});
CDN
This plug-in is available on the DataTables CDN:
Note that if you are using multiple plug-ins, it is beneficial in terms of performance to combine the plug-ins into a single file and host it on your own server, rather than making multiple requests to the DataTables CDN.
Version control
If you have any ideas for how this plug-in can be improved, or spot anything that is in error, it is available on GitHub and pull requests are very welcome!
- This plug-in: time.js
- Full DataTables plug-ins repository: DataTables/Plugins
Example
$('#example').dataTable( {
columnDefs: [
{ type: 'time-uni', targets: 0 }
]
} );