数据表,如何显示按此日期格式的列排序的表?

时间:2015-05-29 18:10:15

标签: jquery datatables

我想显示按名为createdAt的列排序的表,该列具有以下格式:

2015-03-09T14:46:57.678-04:00

1 个答案:

答案 0 :(得分:1)

上述日期格式可由Date.parse()解析。所以,如果你有这样的列:

<tbody>
    <tr><td>2015-03-09T14:46:54.678-04:00</td></tr>
    <tr><td>2015-03-09T14:46:55.678-04:00</td></tr>
    <tr><td>2015-03-09T14:46:56.678-04:00</td></tr>
    <tr><td>2015-02-09T14:46:57.678-04:00</td></tr>
    <tr><td>2015-02-09T14:46:56.678-04:00</td></tr>
    <tr><td>2015-03-10T02:46:57.678-04:00</td></tr>
    <tr><td>2015-03-11T14:41:57.678-04:00</td></tr>
    <tr><td>2015-03-09T12:46:57.678-04:00</td></tr>
    <tr><td>2015-03-09T01:46:57.678-04:00</td></tr>        
</tbody>

您可以制作一个简单的自定义排序插件,并将其用于该特定列:

$.fn.dataTableExt.oSort['time-date-sort-pre'] = function(value) {      
    return Date.parse(value);
};
$.fn.dataTableExt.oSort['time-date-sort-asc'] = function(a,b) {      
    return a-b;
};
$.fn.dataTableExt.oSort['time-date-sort-desc'] = function(a,b) {
    return b-a;
};
var table = $('#example').DataTable({
    columnDefs : [
        { type: 'time-date-sort', 
          targets: [0] 
        }
    ]                                     
});

演示 - &gt;的 http://jsfiddle.net/kkrqzvx4/