我是jquery的DataTable插件的新手。
我想将列日期转换为dd/mm/yyyy
,但它会在表格中返回此格式:Wed Jan 09 2013 00:00:00 GMT+0100 (Hora estándar romance)
。
$('#tblProceso').dataTable({
"data": dataSet.dataList,
"columns": [
{ "title": "my date", "data": "mydate" }
]
});
我正在使用的课程是
Public class DateClass {
Public Property mydate As DateTime
}
在ajax函数中调用此过程,并在响应中指定DateClass列表。
如何格式化列? 我需要添加什么?
答案 0 :(得分:4)
如果要返回可为空的日期时间,则渲染功能需要稍微不同:
$('#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();}
}
]};
答案 1 :(得分:3)
On方法就是这样,
在服务器端创建日期列表时,以所需格式(dd / mm / yy)存储日期。因此,当您进行Ajax调用并获取日期列表时,它将以默认格式来自服务器。
*抱歉我的英语不好。
答案 2 :(得分:1)
如果要使用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" }
]
});
datatables
如果您有一个包含日期的列,则排序时会出现问题,因此请使用this plugin