读书人

求jq 反序列化函数datetime格式数据

发布时间: 2012-04-01 17:23:46 作者: rapoo

求jq 反序列化函数,datetime格式数据


C# code
//Modelpublic class Model{    public  datetime  DT{get;set;}    public string Name{get;set;}}//---------//xx.ashx文件 List<Model> listmodel={xxxxxxx};                        if (file.Count() != 0)                        {                            System.Web.Script.Serialization.JavaScriptSerializer json = new System.Web.Script.Serialization.JavaScriptSerializer();                            string jsonStr = json.Serialize(listmodel);                            context.Response.Write(jsonStr);                        }


JScript code
$.post("xxx.ashx", { "Name": cname, "Type": "customer" }, function(data) {       if (data != "False") {                 for(var i=0;i<data.length;i++)                 {                       var d=data[i].Time;  //这里获取的值,不再是时间。。据说要反序列化,额,求个函数                        }             }    },"JSON");   




[解决办法]
C# code
//获取序列化后的字符串,然后通过正则获取Date中的部分,在去进行转换。    protected string JsonDateToDateString(string str)    {        Regex reg = new Regex(@"\\/Date\((\d+)\+\d+\)\\/");        string time = reg.Match(str).Groups[1].Value;        DateTime dt = new DateTime(1970, 1, 1);        dt = dt.AddMilliseconds(long.Parse(time));        dt = dt.ToLocalTime();        return reg.Replace(str, dt.ToString("yyyy-MM-dd HH:mm:ss"));    }
[解决办法]
JScript code
取到的值是这样形式." /Date(1323100800000+0800)/" var Dtime =" /Date(1323100800000+0800)/";                       var NewDtime = new Date(parseInt(Dtime.slice(6, 19)));                       var Dyear = NewDtime.getFullYear();                       var Dmonth = NewDtime.getMonth() + 1;                       var Ddate = NewDtime.getDate(); 

读书人网 >asp.net

热点推荐