Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DataTables插件:如何在DataTable插件中格式化日期列?_Javascript_Jquery_Vb.net_Datatables - Fatal编程技术网

Javascript DataTables插件:如何在DataTable插件中格式化日期列?

Javascript DataTables插件:如何在DataTable插件中格式化日期列?,javascript,jquery,vb.net,datatables,Javascript,Jquery,Vb.net,Datatables,我是jquery数据表插件的新手 我想将列日期转换为dd/mm/yyyy,但它以以下格式返回给我:Wed Jan 09 2013 00:00:00 GMT+0100(Hora estándar Romans) 我使用的类是 Public class DateClass { Public Property mydate As DateTime } 这个过程在ajax函数中调用,在响应中我分配DateClass的列表 如何设置列的格式? 我需要添加什么?关于方法的内容是这样的 在服务器端创建日

我是jquery数据表插件的新手

我想将列日期转换为
dd/mm/yyyy
,但它以以下格式返回给我:
Wed Jan 09 2013 00:00:00 GMT+0100(Hora estándar Romans)

我使用的类是

Public class DateClass {
  Public Property mydate As DateTime
}
这个过程在ajax函数中调用,在响应中我分配DateClass的列表

如何设置列的格式?
我需要添加什么?

关于方法的内容是这样的

在服务器端创建日期列表时,以所需格式(dd/mm/yy)存储日期。所以,当您进行Ajax调用并获取日期列表时,它将以您想要的默认格式来自服务器


*对不起,我的英语不好。

如果您想用javascript格式化它,您需要重写列定义的
fnRender
函数。大概是这样的:

$("#tblProceso").dataTable({
  "data": dataSet.dataList,
  "aoColumnDefs": [
    { 
        "aTargets": [0], //column index counting from the left
        "sType": 'date',
        "fnRender": function ( dateObj ) {
            var oDate = new Date(dateObj.aData[0]);
            result = oDate.getDate()+"/"+(oDate.getMonth()+1)+"/"+oDate.getFullYear();
            return "<span>"+result+"</span>";
        }
    }
  ],
  "columns": [
            { "title": "my date", "data": "mydate" }
  ]
});
$(“#tblProceso”).dataTable({
“数据”:dataSet.dataList,
“aoColumnDefs”:[
{ 
“aTargets”:[0],//列索引从左侧开始计数
“sType”:“日期”,
“fnRender”:函数(dateObj){
var oDate=新日期(dateObj.aData[0]);
结果=oDate.getDate()+“/”+(oDate.getMonth()+1)+“/”+oDate.getFullYear();
返回“+结果+”;
}
}
],
“栏目”:[
{“标题”:“我的日期”,“数据”:“我的日期”}
]
});

使用
datatables
如果您有一个带有日期的列,则排序时会出现问题,因此,如果要返回一个可为空的日期时间,则使用渲染函数需要稍微不同的工作时间:

        $('#tblProceso').DataTable({
        columns: [

            {"title": "my date",
             "data": "mydate",
             "type": "date ",
             "render":function (value) {
                 if (value === null) return "";

                  var pattern = /Date\(([^)]+)\)/;
                  var results = pattern.exec(value);
                  var dt = new Date(parseFloat(results[1]));

                  return (dt.getMonth() + 1) + "/" + dt.getDate() + "/" + dt.getFullYear();}
            }
        ]};
我的方法基于David Sopkpo:


使用moment的代码非常干净。感谢您对该代码库的介绍。
        $('#tblProceso').DataTable({
        columns: [

            {"title": "my date",
             "data": "mydate",
             "type": "date ",
             "render":function (value) {
                 if (value === null) return "";

                  var pattern = /Date\(([^)]+)\)/;
                  var results = pattern.exec(value);
                  var dt = new Date(parseFloat(results[1]));

                  return (dt.getMonth() + 1) + "/" + dt.getDate() + "/" + dt.getFullYear();}
            }
        ]};
        $('#tblProceso').DataTable({
        columns: [

            {"title": "my date",
             "data": "mydate",
             "type": "date ",
             "render":function (value) {
                  if (value === null) return "";
                  return moment(value).format('DD/MM/YYYY');
                 }
            }
        ]};