Extjs4处理json日期和时间

当ASP.NET后台使用JavaScriptSerializer这个组件将对象序列化为json,

            Hashtable ht = new Hashtable();//生成一个哈希表
            ht.Add("total", listu.Count);//保存数据总数
            ht.Add("rows", listu);//数据list对象

            JavaScriptSerializer jss = new JavaScriptSerializer();//.net 3.5自带的
        JsonStr = jss.Serialize(ht);//序列化为json
            context.Response.Write(JsonStr);//输出json

生成的日期json格式是这样的//Date(1213718400000+0800)//

这种格式ExtJs不识别,导致Grid上无法正常显示。使用ExtJS4的时候,在列模式里像下面这样处理即可。

 1 {
 2     text:'审核时间',
 3     dataIndex:'VALID_DATE',
 4     200,
 5     renderer: function(value) { 
 6         if(value){
 7             var dt=eval("new " + value.substr(1, value.length - 2)).toString();
 8         return Ext.util.Format.date(dt, "Y年m月d日H时i分s秒");//"Y年m月d日H时i分s秒" 
 9                  
10         }     
11        }
12 }

 当ASP.NET后台使用Newtonsoft.Json(JSON.NET)这个组件将对象序列化为json,

            Hashtable ht = new Hashtable();
            ht.Add("total", listu.Count);
            ht.Add("rows", listu);

            JsonStr = JsonConvert.SerializeObject(ht);//使用json.net序列化
        context.Response.Write(JsonStr);

 生成的日期格式是标准的日期像这样子:

"2013-01-15T15:00:00"
{
    text:'审核时间',
    dataIndex:'VALID_DATE',
    200,
    xtype:'datecolumn',
    format:'Y年m月d日H时i分s秒'
}

 最终前台显示结果一样,

原文地址:https://www.cnblogs.com/DevFans/p/2833175.html