2012-12-06 20 views
0

我在排序日期列時遇到問題。 我的日期是這種格式Sorting for format(Y-m-d H:i:s)在Datatables.net插件中不起作用

Y-m-d H:i:s 

而且我得到這樣的輸出:

2012-04-14 23:07:00 
2012-01-14 22:40:14 
2012-03-09 19:03:20 
2012-03-12 16:00:28 
2012-05-01 16:09:38 
2012-02-11 05:07:08 
2012-01-17 15:15:09 
2012-03-10 16:02:20 
2012-02-09 14:33:19 

這是我的初始化:

$(document).ready(function() { 
     oTable=$('#jphit').dataTable({ 
      "sDom": 'T,C<"clear">lfrtip', 
      "oTableTools": { 
      "sSwfPath": "swf/copy_csv_xls_pdf.swf" 
     }, 
      "oColVis": { 
      "buttonText": "Extend table", 
      "activate": "mouseover" 
     }, 
     "aoColumnDefs": [ 
     { "bVisible": false, "aTargets": [ 2 , 4 , 6] } 
    ], 
      "aoColumns": [ 
       { 
       "mDataProp": null, 
       "sClass":"center", 
       "sDefaultContent": '<img src="images/plus-icon.png" style="width:27px; height:27px;display: inline;">' 
       }, 
       { "mDataProp": 0 }, //date column 
       { "mDataProp": 1 }, 
       { "mDataProp": 2 }, 
       { "mDataProp": 3 }, 
       { "mDataProp": 4 }, 
       { "mDataProp": 5 }, 
       { "mDataProp": 6 } 
      ], 
      "aaSorting": [[0,'desc']], //sort date column 
      "bProcessing": true, 
      "bSort": true, 
      "sPaginationType": "full_numbers", 
      "bServerSide": true, 
      "sScrollY": "500px", 
      "bDeferRender": true, 
      "sAjaxSource": "history_table.php" 
     }); 

這是我的PHP部分:

$aRow[$iTimestampCol] = date('Y-m-d H:i:s', $aRow[$iTimestampCol]); 
+0

什麼是在這裏排序呢? PHP還是JavaScript?如果你想對這樣的格式化日期進行排序,你將需要一個二進制排序,或者你可以將格式化的日期轉換爲Unix時間戳並將它們整理爲整數。我不清楚在這裏爲你提供那種輸出的排序。 – Sherif

+0

PHP行只是轉換爲日期變量,然後JavaScript應該能夠排序......但它沒有正確地做到這一點,因爲你可以看到 –

+0

在做排序的JavaScript函數在哪裏? – Sherif

回答