最近接手一个技术考古的开发任务,页面使用jsp加easyUI开发,这样用惯了vue组件的我着实头大,有之前写html页面和使用js的经验算是能过度一下。我这里是使用 $("#").datagrid({ 方法在js中生成table列表,数据库中date类型的时间日期在后台查询时还是正常返回,但是在页面上确是一串数字,查阅资料并实践后得到一个可用的修复方式,直接上代码和效果图:
columns: [
[
{
field: 'receivingDate',
title: '接收日期',
width: 140,
align: 'center',
formatter: formatDatebox
}
]],
这是具体字段中添加的formatter: formatDatebox修改方法的引用。
下面是核心的修复方法体,直接无脑粘贴即可:
function formatDatebox(value) {
if (value == null || value == '') {
return '';
}
var dt;
if (value instanceof Date) {
dt = value;
} else {
dt = new Date(value);
}
return dt.format("yyyy-MM-dd");
}
Date.prototype.format = function (format) {
var o = {
"M+": this.getMonth() + 1, // month
"d+": this.getDate(), // day
"h+": this.getHours(), // hour
"m+": this.getMinutes(), // minute
"s+": this.getSeconds(), // second
"q+": Math.floor((this.getMonth() + 3) / 3), // quarter
"S": this.getMilliseconds()
// millisecond
}
if (/(y+)/.test(format))
format = format.replace(RegExp.$1, (this.getFullYear() + "")
.substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(format))
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
return format;
};
具体异常原因和修复方式我对其研究的兴趣并不是很高,可能因为写jsp让我很抵触吧,当做一个工具类记录一下,有明白的大佬欢迎讲解。