datatable,如何以这种日期格式显示按列排序的table?

datatable, how to display table sorted by a column in this date format?

我想显示按名为 createdAt 的列排序的 table,格式如下:

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

以上日期格式可以被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] 
        }
    ]                                     
});

演示 -> http://jsfiddle.net/kkrqzvx4/