DOMのHTMLデータから初期化されたデータテーブル内の日付を並べ替えるにはどうすればよいですか?私の日付はepochのタイムスタンプで、私はmoment.jsを使って表示しています(例:2017年7月17日)。DataTables:エポック時刻による注文
私は注意しなければならないこと(ここで説明したよう:https://datatables.net/examples/advanced_init/html5-data-attributes.html)データ次またはデータがソート attrは動作しませんのいずれかを使用して
サンプル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>[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
はしかし、私の問題は、そのソートではないということです時代によって上記のサンプルでは、最初の2つのレコードが両方とも2017年7月17日に作成されている場合がありますが、そのリストの2番目のレコードは実際にエポック時間に基づく最初のレコードになります(もう一度、サンプル)。
質問:エポックタイムスタンプでソートしながら、
がどのように私は、私の目的の形式(月日、年)で日付を表示することができますか?
人間が読める時間を表示してからその列を並べ替えたい場合は、画面に書き込む時間を変換しているので不運に思えます。 しかし、エポック値を非表示の列に格納し、日付列をクリックしてその列をソートする方法を見つけることができます。それは醜いですが、うまくいくかもしれません。 – Difster