如何使用 JavaScriptSerializer 序列化日期

How to serialize dates with JavaScriptSerializer

我正在尝试使用 JavaScriptSerializer store/retrieve 约会。但是,我没有得到相同的值。

这是测试代码

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,所以结果是 'failure'。我做错了什么?

谢谢

"JavaScriptSerializer" 对于像日期这样复杂的事情,真的不可信。我建议选择您喜欢的日期格式并将日期存储为字符串。或者,为了更精确,将其转换为纪元并存储该数字 :)