DataTables 插件:如何格式化 DataTable 插件中的日期列?
DataTables Plugin: How to format a date column in DataTable plugin?
我是 jquery 的 DataTable 插件的新手。
我想将列日期转换为 dd/mm/yyyy
但它以 table 这种格式返回给我:Wed Jan 09 2013 00:00:00 GMT+0100 (Hora estándar romance)
.
$('#tblProceso').dataTable({
"data": dataSet.dataList,
"columns": [
{ "title": "my date", "data": "mydate" }
]
});
Class我用的是
Public class DateClass {
Public Property mydate As DateTime
}
此过程在 ajax 函数中调用,在响应中我分配了日期列表 Class。
如何设置列的格式?
我需要添加什么?
方法是这样的,
在服务器端创建日期列表时,以所需格式存储日期 (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" }
]
});
with datatables
如果你有一个包含日期的列,你在排序时会遇到问题,所以,使用 this plugin
如果您要返回可为 null 的日期时间,则呈现函数的工作方式需要稍有不同:
$('#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();}
}
]};
我的方法使用 Moment.js based at David Sopkpo :
$('#tblProceso').DataTable({
columns: [
{"title": "my date",
"data": "mydate",
"type": "date ",
"render":function (value) {
if (value === null) return "";
return moment(value).format('DD/MM/YYYY');
}
}
]};
我是 jquery 的 DataTable 插件的新手。
我想将列日期转换为 dd/mm/yyyy
但它以 table 这种格式返回给我:Wed Jan 09 2013 00:00:00 GMT+0100 (Hora estándar romance)
.
$('#tblProceso').dataTable({
"data": dataSet.dataList,
"columns": [
{ "title": "my date", "data": "mydate" }
]
});
Class我用的是
Public class DateClass {
Public Property mydate As DateTime
}
此过程在 ajax 函数中调用,在响应中我分配了日期列表 Class。
如何设置列的格式? 我需要添加什么?
方法是这样的,
在服务器端创建日期列表时,以所需格式存储日期 (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" }
]
});
with datatables
如果你有一个包含日期的列,你在排序时会遇到问题,所以,使用 this plugin
如果您要返回可为 null 的日期时间,则呈现函数的工作方式需要稍有不同:
$('#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();}
}
]};
我的方法使用 Moment.js based at David Sopkpo
$('#tblProceso').DataTable({
columns: [
{"title": "my date",
"data": "mydate",
"type": "date ",
"render":function (value) {
if (value === null) return "";
return moment(value).format('DD/MM/YYYY');
}
}
]};