Json 反序列化 .net 日期

来源:互联网 发布:天津colour官网淘宝 编辑:程序博客网 时间:2024/04/29 20:07

 

            最近在用.net + Extjs搞开发,不可避免的碰到一些本地化、日期格式的问题。在万能的Google上找了一些,解决了.net返回日期格式化的问题。

 

            .net(或者说服务器端)的日期格式是这样子滴:   //Date(1279270720000+0800)// 

       ASP.NET AJAX 使用格式“@ticks@”,其中 ticks 表示从通用协调时间 (UTC) 1970 年 1 月 1 日起经过的毫秒数。

 

       问题是在界面上要显示这种格式可就有点惨不忍睹了,所以在客户端必须进行反序列化(或者叫解码?)。下面提出解决办法,讲的很通俗,通俗的有点笨笨的感觉了,但是一看就能明白。

 

       解决办法:

       

       首先要有个反序列化的JS函数:

       function renderToDate(value, p, record) {

        
var jsondate = record.data.YourDateField;//这个YourDateField就是Json返回的日期字段,按需修改

        
return eval("new " + jsondate.substr(1, jsondate.length - 2)).toLocaleDateString();
     }
   

       

       然后再你要显示日期的地方把这个Js函数放在Render后面,如下:

{ header: "日期", width: 100, sortable: true, renderer: renderToDate, dataIndex: 'YourDateField'//YourDateField对应上面的

       然后大功告成,当然了,如果你不想用这个格式,还能用这个语句来调整你所需要的格式:

return eval("new " + jsondate.substr(1, jsondate.length - 2)).format('Y-m-d') //  2010-07-10


原创粉丝点击