看过一片文章,
1.首先要确保你store中的field是成功的把时间字符串转换为date类型
我查看了一下服务器返回的json格式的数据
类似这种
"validTime":1293901323000,"lastLoginTime":1279165615000
所以即使我加上了renderer : Ext.util.Format.dateRenderer('Y-m-d')
页面显示 NaN-NaN-NaN
问过别人,他们的数据返回是类似这样
"validTime":new Date(1293901323000)
所以renderer : Ext.util.Format.dateRenderer('Y-m-d')后能正确格式化日期
这个是我的store,如何给validTime变为Date类型
var store = new Ext.data.JsonStore({ // 定义数据源为远程代理和JSON数据格式
url : 'user/list.json',
root : "userList",
totalProperty : 'userCount',
fields : ["recId", "loginName", "userName", "role.roleName",
"validTime","enabled","shopId"]
});
我都是用这个:renderer : formatDate
field也不用特殊配置:fields : [{name : 'openTime'}]
function formatDate(value) {
if (Ext.isEmpty(value)) {
return '';
} else {
if (Ext.isEmpty(value.time))
return Ext.util.Format.date(value, 'Y-m-d');//用于时间控件返回值
else
return Ext.util.Format.date(new Date(value.time), 'Y-m-d');//用于数据库Timestamp类型的返回值
}
}
额 function formatDate(value)是我把平时碰到的都整到一块了的,目前都可以。
你改的方法一碰到时间空值就挂了,方法2太麻烦