我使用jQuery datatable插件对表格的Datetime列进行排序。
我从数据库获取日期时间为07/23/2015 3:45:33 AM
,但我必须显示为23-Jul-15 3:45:33 AM
。
如果我将日期列格式化为所需格式并尝试排序,则将其排序为字符串,而不是日期时间。我也试过给sType: date
,但没有运气。
最后决定在fnRender()
中使用aoColumns
。这适用于Chrome,但不适用于所有版本的IE。无法弄清楚原因。
代码如下:
"aoColumns": [{
"sWidth": "150px",
"fnRender": function(oObj) {
var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
var inputDate = oObj.aData[0];
var splitsDate = inputDate.split(' ')[0];
var splits = splitsDate.split('/');
var splitsTime = inputDate.split(' ')[1] + ' ' + inputDate.split(' ')[2];
var fDate = ($.trim(splits[1]).length == 1 ? '0' + splits[1] : splits[1])
+ '-' + months[$.trim(splits[0] - 1)] + '-'
+ $.trim(splits[2]).substring(2) + ' ' + splitsTime;
return fDate;
}
}]