extjs json date 格式的完美解决方案

 

首先转载http://www.17ext.com/showtopic-2795.aspx

json格式的日期。如下:"createTime":{"date":30,"day":3,"hours":15,"minutes":14,"month":3,"nanos":0,"seconds" :38,"time":1209539678000,"timezoneOffset":-480,"year":108}

json时间格式转换为EXT时间 我们的解决方法是这样的:

java里面时间类型转换成json数据就成这样啦 "createTime":{"date":30,"day":3,"hours":15,"minutes":14,"month":3,"nanos":0,"seconds" :38,"time":1209539678000,"timezoneOffset":-480,"year":108}

在gridpanel里面就会显示成[object,object]

解决方法:

在store里面这样写 { name : 'createTime', type : 'date', mapping : 'createTime.time', dateFormat : 'time' } 在ColumnModel里面这样写

{ header : "创建时间", sortable : true, dataIndex : 'createTime', renderer : Ext.util.Format.dateRenderer('Y-m-d H:i:s') }

就会显示成你想要的格式不用在后台处理成字符串啦。

但很快 我们就会发现 当服务器返回createTime为空时,store会加载失败,触发loadexception事件。

解决如下:

在store里面{ name : 'updateTime' }或者 { name : 'updateTime', mapping : 'updateTime', }

在store的load事件里将其记录改变

load:function(){

    var record = store.getAt(0);

    if(createtime!=null){

        record.set('createtime',

        new Date(record.get("timecreatetime").time));

        alert(new Date(record.get("timecreatetime").time).format('Y/m/d')); 

    }

}

测试通过 createtime不为空时,弹出窗口显示‘2010/9/19’,然后想怎么做后期处理都可以了。

谢谢网友的贡献,感激不尽。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值