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

问题描述 投票:0回答:2

我有一个使用数据表显示数组中的对象的函数。我在将日期和时间格式从 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" }

            ]
    });

感谢您的预期帮助。

javascript jquery datetime datatables isodate
2个回答
30
投票

正如上面@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" 
        }

    ]
});

0
投票

这对我有用

"columns": [
        { 
            data: "_id",
            render: function(data) {
                    return data ? new Date(data).toLocaleDateString('en-GB').replace(/\//g, '-') : data;
                }
        },....
© www.soinside.com 2019 - 2024. All rights reserved.