DateTime のシリアル化に使用JavaScriptSerializer
していますが、逆シリアル化すると、シリアル化された日付から 1 日少なく表示されます。
ここにテストがあります:
DateTime startDate=new DateTime(2012,1,20);//set the 20th of January
JavaScriptSerializer serializer=new JavaScriptSerializer();
string serializeDate= serializer.Serialize(startDate);
DateTime afterDeserialize= serializer.Deserialize<DateTime>(serializeDate);//I get 19th of Jan
Assert.Equals(startDate, afterDeserialize);
まず、javascript の datetime 形式が原因だと思いましたが、javascript Month is zero index について知っているように0=January
、元の日付より 1 日少なくなります。