Extjs4 中date时间格式的问题


在Grid中显示时间,后台传过来的是date格式的数据(PHP date('Y-m-d', time()),一般在Ext model中定义数据的类型和格式:

{name:'birth', type:'date'},

view层:

{ header: '生日', dataIndex: 'birth', editor:{ xtype: 'datefield', format : 'Y-m-d'}}

但这是个可编辑的grid row,通过搜索得知,必须自己定义renderer,试过:

renderer:function(value) {
     if(value instanceof Date) {
      return new Date(value).format('Y-m-d');
    } else {
      return value;
    }
}

在显示和编辑时候显示的是 2014-07-15这样的,但是在编辑状态为空,编辑完后显示为“Tue Jul 15 2014 08:00:00 GMT+0800 (中国标准时间)”,显然不符合。

再搜索,原来还有个util的类,专门是格式化数据的“Ext.util.Format”, view层代码修改为:

{ header: '生日', dataIndex: 'birth', editor:{ xtype: 'datefield', format : 'Y-m-d'}, renderer:new Ext.util.Format.dateRenderer('Y-m-d')}

即可正确显示‘Y-m-d’格式的时间。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM