我的日期采用标准 MySql 数据库 yyyy/mm/dd 格式,我在表中重新格式化为 dd/mm/yyyy 的英国格式,但后来我发现 jquery bootgrid 表没有正确排序,毫无疑问,因为它期待 mm /dd/yyyy 美国格式。
有解决办法吗?我是否需要在表格中格式化为原始日期,然后使用 bootgrid 格式化程序格式化为英国日期?
我的日期采用标准 MySql 数据库 yyyy/mm/dd 格式,我在表中重新格式化为 dd/mm/yyyy 的英国格式,但后来我发现 jquery bootgrid 表没有正确排序,毫无疑问,因为它期待 mm /dd/yyyy 美国格式。
有解决办法吗?我是否需要在表格中格式化为原始日期,然后使用 bootgrid 格式化程序格式化为英国日期?
以 YYYYMMDD 格式存储您的日期并使用 Bootgrid 格式化程序,如下所示:
$("#grid-basic").bootgrid(
{
formatters:
{
"dateformatter": function (column, row)
{
var strDate = row.mydate.substring(6, 9) + "/" + row.mydate.substring(4, 6) + "/" + row.mydate.substring(0, 4);
return strDate;
}
}
});
只需记住将data-formatter ="dateformatter" 属性添加到您的日期列。
我知道的唯一禁忌是默认搜索功能找不到带有格式化程序的 Bootgrid 列。希望有人为此发布解决方案。
我在表头中从http://momentjs.com set data-formatter="ukdate" 中引用了 moment.js,并使用了以下 Bootgrid 格式化程序:
formatters: {
"ukdate": function(column, row)
{
return moment.utc(row[column.id]).format('DD-MM-YYYY HH:mm');
}
}
我发现通过设置 data-order="desc" 进行排序时,日期是唯一设置了数据顺序但不是设置了数据顺序的多列的日期。