日期:2014-05-17  浏览次数:20368 次

关于C#的JavaScriptSerializer类的Json时间相互转换不对

JavaScriptSerializer jsSerializer = new JavaScriptSerializer();
DateTime d = DateTime.Parse("2013/11/21");
string d1 = jsSerializer.Serialize(d);
DateTime d2 = jsSerializer.Deserialize<DateTime>(d1);

原来d是2013年11月21日 00:00:00的
通过JavaScriptSerializer的Serialize(d)方法转化为Json
再通过JavaScriptSerializer的Deserialize<DateTime>(d1)方法转化为DateTime
用d2接收,但是d2得到的是{2013/11/20 16:00:00}
跟原来的d1不一样,这是为什么呀,求解决方法
c# Json 时间相互转化 DateTime

------解决方案--------------------
引用:
没有人吗?顶起来,求解决



        JavaScriptSerializer jsSerializer = new JavaScriptSerializer();
        DateTime d = DateTime.Parse("2013/11/21");
        string d1 = jsSerializer.Serialize(d);
        DateTime dss = jsSerializer.Deserialize<DateTime>(d1);
        Response.Write(dss.ToString("yyyy/MM/dd"));


这样,需要格式化下!
------解决方案--------------------
            DateTime dt=DateTime.Now.ToUniversalTime();
            Response.Write(dt.ToString());
            Response.Write("<br/>");
            Response.Write(dt.ToLocalTime().ToString());


这是两个的区别