Javascript 数据表排序日期(d/m/Y H:i A)
我对数据表还是新手。我有一个格式如下的日期2011年10月1日上午10:10,我想对它进行排序。我读过关于可用插件的文章,但我仍然无法对其进行正确排序,因为它只根据日期而不是月份和年份进行排序Javascript 数据表排序日期(d/m/Y H:i A),javascript,php,jquery,html,datatable,Javascript,Php,Jquery,Html,Datatable,我对数据表还是新手。我有一个格式如下的日期2011年10月1日上午10:10,我想对它进行排序。我读过关于可用插件的文章,但我仍然无法对其进行正确排序,因为它只根据日期而不是月份和年份进行排序 <script type="text/javascript" src="datatables/datatables.net/js/jquery.dataTables.js"></script> <script type="text/javascript" src="cdn
<script type="text/javascript" src="datatables/datatables.net/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="cdn.datatables.net/plug-ins/1.10.13/sorting/date-euro.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#test').dataTable({
"columnDefs": [{
"type": "date-euro",
targets: 1
}]
});
});
</script>
<?php $filetime = date("d/m/Y H:i A",filemtime($dir.'/'.$basename)); ?>
<table id="test">
<thead>
<tr>
<th>Name</th>
<th>Date Modified</th>
</tr>
</thead>
<tbody>
<tr>
<td>Test</td>
<td><?php echo $filetime; ?></td>
</tr>
</tbody>
$(文档).ready(函数(){
$('#test')。数据表({
“columnDefs”:[{
“类型”:“日期欧元”,
目标:1
}]
});
});
名称
修改日期
试验
您可以使用HTML5数据属性
只需将数据顺序元素添加到td元素中
<table class="table" id="exampleTable">
<thead>
<tr>
<th>Name</th>
<th>Date Modified</th>
</tr>
</thead>
<tbody>
<tr>
<td>Test</td>
<td data-order="<?php echo date( "Y-m-d H:i", strtotime( $filetime) ); // PHP: 2015-11-13 12:00; ?>"><?php echo $filetime; ?></td>
</tr>
</tbody>
<script>
$(document).ready(function() {
$('#exampleTable').DataTable();
});
</script>
名称
修改日期
试验
您可以使用HTML5数据属性
只需将数据顺序元素添加到td元素中
<table class="table" id="exampleTable">
<thead>
<tr>
<th>Name</th>
<th>Date Modified</th>
</tr>
</thead>
<tbody>
<tr>
<td>Test</td>
<td data-order="<?php echo date( "Y-m-d H:i", strtotime( $filetime) ); // PHP: 2015-11-13 12:00; ?>"><?php echo $filetime; ?></td>
</tr>
</tbody>
<script>
$(document).ready(function() {
$('#exampleTable').DataTable();
});
</script>
名称
修改日期
试验
默认情况下,DataTables似乎不包含date euro
类型,因此请确保在代码中的某个位置包含:
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"date-euro-pre": function ( a ) {
var x;
if ( $.trim(a) !== '' ) {
var frDatea = $.trim(a).split(' ');
var frTimea = (undefined != frDatea[1]) ? frDatea[1].split(':') : [00,00,00];
var frDatea2 = frDatea[0].split('/');
x = (frDatea2[2] + frDatea2[1] + frDatea2[0] + frTimea[0] + frTimea[1] + frTimea[2]) * 1;
}
else {
x = Infinity;
}
return x;
},
"date-euro-asc": function ( a, b ) {
return a - b;
},
"date-euro-desc": function ( a, b ) {
return b - a;
}
} );
默认情况下,DataTables似乎不包含date euro
类型,因此请确保在代码中的某个位置包含:
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"date-euro-pre": function ( a ) {
var x;
if ( $.trim(a) !== '' ) {
var frDatea = $.trim(a).split(' ');
var frTimea = (undefined != frDatea[1]) ? frDatea[1].split(':') : [00,00,00];
var frDatea2 = frDatea[0].split('/');
x = (frDatea2[2] + frDatea2[1] + frDatea2[0] + frTimea[0] + frTimea[1] + frTimea[2]) * 1;
}
else {
x = Infinity;
}
return x;
},
"date-euro-asc": function ( a, b ) {
return a - b;
},
"date-euro-desc": function ( a, b ) {
return b - a;
}
} );
类似的问题/示例在这种情况下尝试使用自定义排序功能类似的问题/示例在这种情况下尝试使用自定义排序功能,但仍然仅根据日期排序。不是月和年,我希望它是d/m/Y H:iA@Athira你检查过这个例子吗??好吧,我现在明白了。但我做了一些改变。我定义了$filetime,但没有将日期转换为d/m/Y H:IA。根据您的示例,在数据顺序上,它应该是$filetime,当它在标记内回音时,它会从字符串转换为时间。为其他用户的修订进行编辑。谢谢。但是手机上支持数据排序吗?但它仍然只根据日期排序。不是月和年,我希望它是d/m/Y H:iA@Athira你检查过这个例子吗??好吧,我现在明白了。但我做了一些改变。我定义了$filetime,但没有将日期转换为d/m/Y H:IA。根据您的示例,在数据顺序上,它应该是$filetime,当它在标记内回音时,它会从字符串转换为时间。为其他用户的修订进行编辑。谢谢。但是手机上支持数据订购吗?