数据表按日期正确排序

Posted

技术标签:

【中文标题】数据表按日期正确排序【英文标题】:Datatable sort by date correctly 【发布时间】:2018-01-29 17:39:35 【问题描述】:

我在我的网站上使用Django framework,但为了显示信息,我使用插件Datatable,所以一列显示日期信息,用于显示日期的格式类似于May. 6, 2017,所以当我排序时日期列将顺序作为字符串而不是日期,因此显示的第一个日期类似于 August 10, 2017 有没有办法使用该格式按日期排序?

【问题讨论】:

在你需要的地方显示一些代码。您如何使用数据表。如果没有任何代码,您将很难理解您的需求到底是什么 您可以在该列中使用数据顺序标签。 这是一个例子@ArpitSolanki jsfiddle.net/dunhxf5m 【参考方案1】:

在定义 DataTable 的列时,您需要指定 render 回调,如下例所示:

        columns: [
            
                title: "Date",
                data: "yourDateRef",
                render: function(data, type, row) 
                    if (type == "display") 
                        return prettyFormat(data);
                    
                    else 
                        return data;
                    
                
            ,
            ...

基本上,DataTables 调用渲染回调来显示数据 (type=="display"),但在需要对数据进行排序 (type=="sort") 或过滤 (type=="filter") 时也会调用。

这允许您控制给定字段的显示方式,以及排序和过滤方式。

更多信息:https://datatables.net/reference/option/columns.render

希望这会有所帮助!

【讨论】:

以上是关于数据表按日期正确排序的主要内容,如果未能解决你的问题,请参考以下文章

带有 Moment.js 的 Jquery 数据表的终极日期/时间排序插件

如何以正确的顺序链接查询集,而不是按日期排序,按foreignKey排序?

按日期时间格式化为 dd.MM.yyyy 的 SQL 顺序不正确

MySql 按 Mmm-dd-yyyy 中的(varchar)日期排序

如何在 Flutter 中从 Firestore 订购数据,orderBy 订购不正确

如何按日期降序对数据表进行排序