Javascript DataTables插件:如何在DataTable插件中格式化日期列?
我是jquery数据表插件的新手 我想将列日期转换为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的列表 如何设置列的格式? 我需要添加什么?关于方法的内容是这样的 在服务器端创建日
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');
}
}
]};