Javascript JQuery数据表日期顺序

Javascript JQuery数据表日期顺序,javascript,jquery,node.js,sorting,datatables,Javascript,Jquery,Node.js,Sorting,Datatables,我有两个问题 在我的表格中,有一个created date列,我按该日期排序。不幸的是,它排序为字符串,而不是日期。我用的是nodejs 一定是这样 2019年5月21日 22.04.2109 我的代码是: "order": [[0,"desc"],[ 1, "desc" ],[ 7, "desc" ]], 我也尝试过一个插件 "columnDefs": [

我有两个问题

在我的表格中,有一个created date列,我按该日期排序。不幸的是,它排序为字符串,而不是日期。我用的是nodejs

一定是这样

2019年5月21日

22.04.2109

我的代码是:

"order": [[0,"desc"],[ 1, "desc" ],[ 7, "desc" ]],
我也尝试过一个插件

"columnDefs": [                                                
                    {
                        "targets": [ 1 ],
                        "visible": true,
                        "searchable": false
                    },
                    {
                        "targets":7,
                        "type": "date-de"
                    },


<script src="https://cdnjs.cloudflare.com/ajax/libs/datatables/1.10.19/js/
jquery.dataTables.js" type="text/javascript"></script>

<script src="https://cdn.datatables.net/plug-ins/1.10.19/sorting/date-de.js"
 type="text/javascript"></script>

$(document).ready(function() {
   jQuery.extend(jQuery.fn.dataTableExt.oSort, {
    "extract-date-pre": function(value) {
        var date = $(value, 'span')[0].innerHTML;
        date = date.split('/');
        return Date.parse(date[1] + '/' + date[0] + '/' + date[2])
    },
    "extract-date-asc": function(a, b) {
        return ((a < b) ? -1 : ((a > b) ? 1 : 0));
    },
    "extract-date-desc": function(a, b) {
        return ((a < b) ? 1 : ((a > b) ? -1 : 0));
    }
});

但不起作用…

请,一次只问一个问题,删除“选择”部分并用它创建一个新问题

您的第一个问题:为了使datatable以正确的方式对日期进行排序,必须在隐藏元素中将日期打印为年-月-日

例如,我不知道如何填充日期表,但在纯HTML中,您将执行以下操作:

<tr>
 <td>
   <span style="display:none">2019-05-22</span>
    22-05-2019
 </td>
</tr>

因此,当datatable对列进行排序时,它会选择隐藏范围内的值,该值现在可以作为一个简单字符串进行排序。

正如我所看到的,日期是:DD.MM.YYYY格式。要分析需要拆分的日期,请执行以下操作。不是/


请删除该问题并发布两个单独的问题。谢谢你的回答,但不知何故,这些函数没有被调用。我放置了一个allert,没有显示。但是我做到了u所说的,并且没有像console.logdate在var date=$value,'span'[0]之后工作;并检查正在打印的内容Nothing,因为此方法尚未触发。。我不知道为什么。。它在document.ready.中。发布数据表初始化代码。i、 问题中的e$'table'.dataTable{…}。我这样做了,dtdictions=$'tblVouchers'.dataTable{…}不是个好主意吗?
"extract-date-pre": function(value) {
    var date = $(value, 'span')[0].innerHTML;
    date = date.split('.').reverse().join('-');
    return Date.parse(date);
}