我想在服务器返回数据后立即将时间戳转换为自定义日期格式。我尝试在 Ext.data.field 中使用“转换”:http ://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Field-cfg-convert
但我不能让它正确。这是我的模型。
Ext.define('AM.model.Comment',{
extend: 'Ext.data.Model',
fields: [
{ name: 'createdTime', type: 'date', convert:function(v,record){record.parseDate(v,record);}}, // datetime
],
proxy: {
type: 'rest',
url:'../comments',
writer:{
type:'json'
},
reader: {
type: 'json'
}
},
parseDate:function(v,record){
console.log(v); //show 1347465600000
console.log(Ext.Date.format(new Date(v), 'Y-m-d')); //show 2012-09-13
return Ext.Date.format(new Date(v), 'Y-m-d');
}
});
加载后,我检查了firebug,发现“createdTime”字段是“未定义”。有人可以指出我的错误吗?谢谢!
我可以在不使用“转换”的情况下实现这一点,只需Ext.Date.format(new Date(v), 'Y-m-d')
在其他组件中使用。但我认为在模型中这样做会更好。然后每个组件总是可以在查询时读取正确的日期格式。