您的位置:首页 > Web前端 > JavaScript

Extjs怎么格式化Grid的日期列

2012-09-13 11:19 162 查看
在Grid的cm里面定义列的时候使用renderer 属性进行修改日期格式.由于在用.net把List<T>转成json的时候会把日期类型转化成不是常用的格式所以我们需要利用js把他转换过来.

第一步需要把他转换成js认识的Date格式:new Date(parseInt(val.substring(6, val.length - 2)))

第二步再把Date按照你的要求进行转化,我这里是扩展了一个format方法

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;
}


下面是具体Grid日期列的定义

{dataIndex : 'BillDate',
header : '用电日期',
hidden : false,
renderer : function (val) {
return new Date(parseInt(val.substring(6, val.length - 2))).format('yyyy-MM-dd')
}
,
sortable : false
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: