如何使用yyyy-mm-dd格式对日期进行排序.通过使用datatables [js]?

Oam*_*ieR 1 sorting jquery date datatables

我需要用yyyy-mm-dd格式对日期进行排序.

从这份文件.这是我的代码.

$( function () {
    $.fn.dataTable.moment('YYYY-MM-DD');

    $('#tbTest').DataTable();
});
Run Code Online (Sandbox Code Playgroud)

但我仍然得错了(见下图)

在此输入图像描述

我怎样才能解决这个问题?

Shi*_*fty 6

如果检查datatable插件中的unshift函数,您会看到该时刻已将strict参数定义为true.

    // Add type detection
    types.detect.unshift( function ( d ) {
    return moment( d, format, locale, true ).isValid() ?
        'moment-'+format :
        null;
    } );
Run Code Online (Sandbox Code Playgroud)

文档那一刻起:

Moment的解析器非常宽容,这可能会导致不良行为.从版本2.3.0开始,您可以为最后一个参数指定一个布尔值,以使Moment使用严格的解析.严格的解析要求格式和输入完全匹配.

所以代替:

$.fn.dataTable.moment('YYYY-MM-DD');
Run Code Online (Sandbox Code Playgroud)

这需要像2015-04-01这样的日期,你必须使用:

$.fn.dataTable.moment('YYYY-M-D');
Run Code Online (Sandbox Code Playgroud)