Ext json传递Date数据问题

使用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)));
    }
});

 

 

你可能感兴趣的:(Ext json传递Date数据问题)