【问题标题】: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 你能给我举个例子来说明我如何构建这个吗?该链接没有给我我想要的东西。

标签: javascript jquery datetime datatables isodate


【解决方案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)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-02
  • 2020-05-23
  • 2020-01-16
  • 1970-01-01
  • 2016-07-29
  • 2019-07-15
相关资源
最近更新 更多