我正在尝试使用JavaScriptSerializer存储/检索日期。但是,我没有获得相同的价值。
这是测试代码
var serializer = new JavaScriptSerializer();
var date = new DateTime(1997, 1, 27, 0, 0, 0, DateTimeKind.Local);
var obj = new Dictionary<string, object> { { "theDate", date } };
var json = serializer.Serialize(obj);
var obj2 = serializer.DeserializeObject(json) as Dictionary<string, object>;
var date2 = (DateTime)obj2["theDate"];
var result = date == date2 ? "success" : "failure";
我返回的日期是DateTimeKind.Utc而不是DateTimeKind.Local,所以结果是“失败”。我在做什么错了?
谢谢
答案 0 :(得分:0)
“ JavaScriptSerializer”对于像日期这样复杂的任何事情都无法真正被信任。我建议选择您喜欢的日期格式并将日期存储为字符串。或者,为了更精确,将其转换为纪元并存储该数字:)