我如何对由HTML数据在DOM中初始化的datatable中的日期进行排序?我的日期是时期时间戳,我使用moment.js显示所需的格式(例如:2017年7月17日)。需要注意的是,使用data-order或data-sort属性均不起作用(如此处所述:https://datatables.net/examples/advanced_init/html5-data-attributes.html)
示例PHP:(这是收集从DB返回的所有行的循环的一部分 - 然后我在视图中完整地回显$member_return)
使用这种方法,日期是根据它们的日期进行排序的,例如:
然而,我的问题是它没有按纪元日期排序。在上面的示例中,虽然前两条记录可能都是在2017年7月17日创建的,但该列表中的第二条实际上应该是基于纪元时间的第一条(再次说明,这是一个示例)。
问题:
如何在按纪元时间戳排序的同时以我所需的格式(月份 日,年)显示日期?
示例PHP:(这是收集从DB返回的所有行的循环的一部分 - 然后我在视图中完整地回显$member_return)
$member_return .= '<tr><td>'.$user->email.'</td><td>'.$user->first_name.'</td><td>'.$label-stat.'</td><td>'.$label-sub.'</td><td>'.(int)$user->created_on.'</td><td>--</td></tr>';
示例 HTML:
<tr>
<td>fake1@email.com</td>
<td>John2</td>
<td>Active</td>
<td>Active</td>
<td>1500317481</td>
<td>--</td>
</tr>
<tr>
<td>fake2@email.com</td>
<td>John2</td>
<td>Active</td>
<td>Active</td>
<td>1500317482</td>
<td>--</td>
</tr>
<tr>
<td>fake3@email.com</td>
<td>John3</td>
<td>Active</td>
<td>Active</td>
<td>1500317483</td>
<td>--</td>
</tr>
jQuery:
oTable = $('#view_members').DataTable({
"columns": [
{ data: "email" },
{ data: "name" },
{ data: "status" },
{ data: "subscription" },
{
data: "date",
type: "date",
render: function(data){
return moment.unix(data).format("MMMM DD, YYYY")
}
},
{ "sortable": false }
]
})
使用这种方法,日期是根据它们的日期进行排序的,例如:
July 17, 2017
July 17, 2017
July 16, 2017
July 15, 2017
June 14, 2017
etc
然而,我的问题是它没有按纪元日期排序。在上面的示例中,虽然前两条记录可能都是在2017年7月17日创建的,但该列表中的第二条实际上应该是基于纪元时间的第一条(再次说明,这是一个示例)。
问题:
如何在按纪元时间戳排序的同时以我所需的格式(月份 日,年)显示日期?