日期:2014-05-16  浏览次数:20387 次

关于extjs date类型的处理

extjs里面date类型格式化问题应该困扰了很多人,看网上各种方法,有将数据库里的date字段取出为string处理的,有用format格式化的,可以说这些方式都是歪门斜道,需要处理大量代码,而且类型不一致会有很多潜在问题,象我经常使用的form.updateRecord更新记录的方法大家可以去试试很难搞定的

正确做法(也许有更好的办法):

数据库出来的依旧为util.Date类型,column也绑定为datecolumn,加上convert方法:

function convertDate(v, record) {
if (v == null) {
return null;
}
var date=new Date(v); 
return Ext.Date.format(date,'Y-m-d');
}

OK!搞定

不少人直接使用return v.toString().substring(0, 10);表面上grid正常,和form第一次交互也正常,但使用过form.updateRecord就会有问题了,原因是datefield字段虽然可设置format:'Y-m-d',显示正常,但其传值仍为ext 的日期格式,这样直接截取字符串就会出问题了!