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