2
如何对我的数据表中的日期进行排序,这是从DOM中的HTML数据初始化的?我的日期是我使用moment.js按期望显示的时代时间戳(例如:2017年7月17日)。DataTables:按大纪元时间排序
我要指出,无论使用的数据阶或数据排序 ATTR不起作用(如下所述:https://datatables.net/examples/advanced_init/html5-data-attributes.html)
示例PHP:(这是一个循环的一部分收集从数据库中的所有返回的行 - 那么我回声出的$ 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>[email protected]</td>
<td>John2</td>
<td>Active</td>
<td>Active</td>
<td>1500317481</td>
<td>--</td>
</tr>
<tr>
<td>[email protected]</td>
<td>John2</td>
<td>Active</td>
<td>Active</td>
<td>1500317482</td>
<td>--</td>
</tr>
<tr>
<td>[email protected]</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日创建的,但该列表中的第二条记录实际上应该是基于历元时间的第一条记录(同样,这是样本)。
问题:
如何才能在我想要的格式(月日,年)显示日期,而由时代时间戳排序?
如果你想显示人类可读的时间,然后对该列进行排序,我认为你运气不好,因为你正在转换写入屏幕的时间。 但是,您可以将历元值存储在隐藏列中,并在单击日期列时找到在该列上进行排序的方法。这很丑,但它可以工作。 – Difster