【发布时间】:2013-02-06 20:10:16
【问题描述】:
我正在使用 JavaScriptSerializer 序列化 DateTime,但是当我反序列化它时,它显示的日期比序列化日期少了一天:
这里是测试:
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 是零索引 0=January,但我比原始日期少了一天。
【问题讨论】:
-
解决方案 1:搞砸时区等。解决方案 2:只需将年、月和日存储为单独的值,然后在反序列化后重新组合。
标签: c#-4.0 datetime javascriptserializer