ext时间格式的转换 提供三种转换

原文地址:http://blog.sina.com.cn/s/blog_4ca246370100nu9d.html


第一种    我自己用的是第三种,正常可以用
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')
}
就会显示成你想要的格式不用在后台处理成字符串啦。


在原文的基础上,再补充一下在sencha touch itemTpl中显示日期

按第一种的在store中设置好以后,在

 itemTpl:
            '<table border="0" cellpadding="0" cellspacing="0" id="formlist">'
                +'<tr>'                
                +'<td valign="top" align="left" class="formlist_r">
                +'<h3 class="formlist_ico3">时间:<span class="time">{[Ext.Date.format(values.createDate,\'Y-m-d H:i:s\')]}</span></h3>'
                +'</td>'
                +'</tr>'
                +'</table>',

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

 第二种

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}Extgrid不能直接显示

解决方法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",
        
ren

你可能感兴趣的:(ext时间格式的转换 提供三种转换)