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序列化方法