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')
}
就会显示成你想要的格式不用在后台处理成字符串啦。

 第二种

EXT显示json返回的时间格式数据

json返回时间的格式大多数都是以这种形式返回的,

Js代码 

1. "createTime":{"nanos":0,"time":1154834910000,"minutes":28,"seconds":30,"hours":11,"month":7,"year":106,"timezoneOffset":-480,"day":0,"date":6}  

 

把这种格式显示在formPanel中

Js代码 

1. jsonReader new Ext.data.JsonReader({  

2.    root 'root', // 返回的数据集合  

3.    totalProperty 'totalCount' // 总记录数  

4.   }, Ext.data.Record.create([  

5.      

6.      name 'createTime',  

7.      mapping 'createTime.time',  

8.      type 'date',  

9.      dateFormat 'yyyy-MM-dd',  

10.     convert function(v) // 采用转换形式  

11.          return new Date(v)  

12.     }]))  

 

把这种格式显示在gridPanel中

Js代码 

1.  

2. header "创立时间",  

3. width 80,  

4. dataIndex 'createTime',  

5. renderer function(v)  

6.      return new Date(v).format('Y-m-d')  

7. },  

8. sortable true  

9.  

 

可以用

 

 第三种

使用JSONSerializer.toJSON()转换Date类型就会变成:  "modifyTime":{"date":30, "day":3, "hours":15, "minutes":14, "month":3, "nanos":0, "seconds":38, "time":1209539678000, "timezoneOffset":-480, "year":108},Ext的grid不能直接显示

解决方法1:

    后台使用:jsonConfig.registerJsonValueProcessor(Date.class, new DateJsonValueProcessor("yyyy-MM-dd hh:mm:ss"));

解决方法2:

     前天处理:

function renderDate(format) {
    return function(v) {
        var JsonDateValue;
        if (Ext.isEmpty(v))
            return '';
        else if (Ext.isEmpty(v.time))
            JsonDateValue = new Date(v);
        else
            JsonDateValue = new Date(v.time);
        return JsonDateValue.format(format || 'Y-m-d H:i:s');
    };
};

{
        header    : "birthday",
       
renderer  : renderDate('Y-m-d'),
        dataIndex : 'birthday',
        align     : 'center'
}

如果是Form:

Ext.override(Ext.form.DateField, {
    setValue 
: function(date) {
        if (Ext.isEmpty(date)) {
        }
        else if (Ext.isEmpty(date.time)) {
            date = new Date(date);
        }
        else {
            date = new Date(date.time);
        }
        Ext.form.DateField.superclass.setValue.call(this, this.formatDate(this.parseDate(date)));
    }
});

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值