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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值