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

posted @ 2016-07-21 13:59  talentzemin  阅读(2528)  评论(0)    收藏  举报