如何格式化数据表中显示的日期

Posted

技术标签:

【中文标题】如何格式化数据表中显示的日期【英文标题】:How to format date displayed in Datatable 【发布时间】:2017-05-21 18:00:33 【问题描述】:

我有一个使用数据表在我的数组中显示对象的函数。将日期和时间格式从 ISODate 更改为人类可读格式有点问题。

我的数据

var datas = “rows” : [_id: "2017-01-03T00:00:00.000Z", Humidity: 24, Temperature: 18,

_id: "2017-01-04T00:00:00.000Z", Humidity: 23.071428571428573, Temperature: 18.928571428571427 ]

JS 脚本

var table = $('#myTable').DataTable(  
    data: datas.rows,
            "columns": [
                 data: "_id" ,
                 data: "Temperature" ,
                 data: "Humidity" 

            ]
    );

感谢您的预期帮助。

【问题讨论】:

在您的情况下,人类可读的确切含义是什么? datatables.net/reference/option/columns.render 更改值的显示方式,momentjs.com 将有助于以您想要的格式获取日期。 @kraskevich YYYY:MM:DD HH:MM 这就是我的意思。 @PaulAbbott 感谢您的链接。我有 3 列,但我只想渲染一列。渲染函数是紧跟在特定列之后还是我将它添加到 data: "Humidity" 的末尾?? @PaulAbbott 你能给我举个例子来说明我如何构建这个吗?该链接没有给我我想要的东西。 【参考方案1】:

正如上面@Paul Abbott 所指出的,momentjs 和渲染函数应该可以看到你的正确:

var datas = 
    "rows": [
        
            _id: "2017-01-03T00:00:00.000Z", 
            Humidity: 24, 
            Temperature: 18
        ,
        
            _id: "2017-01-04T00:00:00.000Z", 
            Humidity: 23.071428571428573, 
            Temperature: 18.928571428571427
         
    ]



var table = $('#myTable').DataTable(  
    data: datas.rows,
    "columns": [
         
            data: "_id",
            render: function(data, type, row)
                if(type === "sort" || type === "type")
                    return data;
                
                return moment(data).format("MM-DD-YYYY HH:mm");
            
        ,
         
            data: "Temperature" 
        ,
         
            data: "Humidity" 
        

    ]
);

【讨论】:

感谢您的回复。我收到一个错误TypeError: undefined is not an object (evaluating '$.fn.dataTable.render')。虽然我在 html 文件中包含了 datetime cdn。 显然我的脚本不正确,但我仍然收到错误moment is not a function 看不到你的脚本,我不知道发生了什么。这是一个工作示例:jsfiddle.net/annoyingmouse/hpgafeys。您需要按此顺序包括 jQuery、DataTables 和 MomentJS。 @Sandor,我的立场是正确的 - 这是否满足您的需求:jsfiddle.net/annoyingmouse/cgqqLaw1 @annoyingmouse: 过失, if(type === "sort" || type === "type") 成功了,但是请注意是答案中的错误,因为 function(d) 定义而不是 function (data, type, row)

以上是关于如何格式化数据表中显示的日期的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQL Server中 将日期格式化

如何在 MySQL 数据库中显示日期和价格,并在 PHP 中以各种格式显示

如何更改html5中自动日期选择器的显示格式

如何在 JQuery UI Datepicker 中使用不同的日期格式(用于在 html 上显示和存储在数据库中)?

oracle数据库如何改变日期格式

如何重新格式化 CSV 中的日期以仅显示 MM/YYYY