2016-03-19 2 views
0

У меня есть столбец, что данные по времени даты, как 03/18/2016 10:53:00 AM, когда его сортировке им, оно не сортировать правильно ...Сортировка DataTables в формате дата и время

сортировка его

enter image description here

$date = $row->Status_ == 'RELEASED'? date("m/d/Y h:i:s A",strtotime($row->Released_Date)) : date("m/d/Y",strtotime($comDate)); 
$dateOrder = $row->Status_ == 'RELEASED'? strtotime($row->Released_Date) : strtotime($comDate); 

$list .= "<tr class='gradeX'> 
      <td class='center' data-order='".$dateOrder."'> 
       <b title='View committed date' class='titleCommit' data-item='".$itemCode."'>".$date."</b> 
      </td> 

им в DESCENDING

+3

Он выглядит правильно отсортированным, когда каждое значение берется как строка. Для отсортированного формата даты используйте формат даты ISO, который выглядит следующим образом: 2016-03-17 19:44:33. Из-за его расположения, при сортировке даты или строкового формата сортировка будет точной. – stratedge

+0

Да, я знаю, это сортировка как строка, может ли сказать мне, как я могу ее отсортировать, даже если это плохой формат? thnx для ответа :) –

+0

У вас есть код для публикации, чтобы мы могли посмотреть? И/или var_dump данных, которые используются для построения таблицы в вашем представлении? Концептуально, что вы хотите сделать для каждой строки, конвертируйте дату в отсортированный формат ('strtotime ($ current_date)' должно быть достаточно), а затем в своем представлении при построении строк преобразуйте дату в формат вам нужно отобразить. – stratedge

ответ

0

пользовательская функция должна делать то, что вы хотите сортировки. Если включить momentjs это очень просто:

jQuery.extend(jQuery.fn.dataTableExt.oSort, { 
    "dom-date-pre": function(a) { 
     return moment(a, "MM/DD/YYYY HH:mm:ss A") 
    }, 
    "dom-date-asc": function(a, b) { 
     return ((a < b) ? -1 : ((a > b) ? 1 : 0)); 
    }, 
    "dom-date-desc": function(a, b) { 
     return ((a < b) ? 1 : ((a > b) ? -1 : 0)); 
    } 
}); 

Работа JSFiddle с вашими данными.

Смежные вопросы