我正在尝试使用Ultimate日期/时间排序插件(https://datatables.net/blog/2014-12-18)对日期列进行排序
列正确显示格式化日期,Invaded the datetime-moment.js文件,根据文档,我补充说:
$(document).ready(function() {
$.fn.dataTable.moment( 'LL', locale );
$.fn.dataTable.moment( 'L h:mm', locale );
我的DataTables默认初始化是:
$.extend( true, $.fn.dataTable.defaults, {
dom: "<'row'<'col-xs-6'><'col-xs-6'f>r>t<'row'<'col-xs-6'l><'col-xs-6'p>>",
language: { url: langUrl },
searching: true,
ordering: true,
paging: true,
info: false,
select: true
} );
和具有Intl日期格式的ColumnDef是:
columnDefs: {
targets: column_date,
type: 'date',
render: function ( data, type, full, meta ) {
if(data){
var mDate = moment(data);
return (mDate && mDate.isValid()) ? mDate.format("LL") : "";
}
return "";
}
},
{
targets: column_time,
type: 'date',
render: function ( data, type, full, meta ) {
if(data){
var mDate = moment(data);
return (mDate && mDate.isValid()) ? mDate.format("L h:mm") : "";
}
return "";
}
},
这些列中的所有数据都显示此类值:
"Dernière Utilisation":"2015-09-21",
"Dernière Connexion":"2015-09-21 15:24",
我正确显示,未正确排序
我错了吗?还是一个bug?这个插件在&#39; en&#39;区域设置&#39;
答案 0 :(得分:1)
您似乎使用的Ultimate date/time sorting plug-in与文章中描述的不同。
对columnDefs
选项使用以下代码:
columnDefs:
{
targets: column_date,
render: function ( data, type, full, meta ) {
if(type === 'display'){
if(data){
var mDate = moment(data);
data = (mDate && mDate.isValid()) ? mDate.format("LL") : "";
}
}
return data;
}
},
{
targets: column_time,
render: function ( data, type, full, meta ) {
if(type === 'display'){
if(data){
var mDate = moment(data);
data = (mDate && mDate.isValid()) ? mDate.format("L h:mm") : "";
}
}
return data;
}
},
我相信你可以删除以下几行:
$.fn.dataTable.moment( 'LL', locale );
$.fn.dataTable.moment( 'L h:mm', locale );