Json 反序列化 .net 日期

本文介绍如何解决ASP.NET AJAX返回的日期格式在Extjs中显示的问题。通过客户端JavaScript反序列化,将服务器端日期格式转换为易于阅读的日期格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

            最近在用.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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值