Serializer序列化/反序列化DateTime少了8小时问题解决


1.举例子

JavascriptSerializer serializer = new JavascriptSerializer();
DateTime now = DateTime.Parse("2016-07-21 00:00:00");
Console.WriteLine(serializer.Deserialize<DateTime>(serializer.Serialize(now)));
//结果是:2015-07-20 16:00:00

2.为什么?

JavascriptSerializer序列化时把时间转成了UTC时间,而反序列化时没转回本地时间。

本地时间和UTC时间相差为8小时,这就导致了上边的问题。

3.怎么办?

(1)调用的时候,使用ToLocalTime方法,转换成本地时间。

(2)使用其他JSON序列化方法

 

链接:http://www.111cn.net/wy/js-ajax/77086.htm


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM