代码之家  ›  专栏  ›  技术社区  ›  Skye MacMaster

如何使用javascriptserializer序列化日期

  •  0
  • Skye MacMaster  · 技术社区  · 7 年前

    我试图使用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,因此结果是“failure”。我做错什么了?

    谢谢

    1 回复  |  直到 7 年前
        1
  •  0
  •   Davesoft    7 年前

    “javascriptserializer”不能真正信任像日期这样复杂的东西。我建议您选择您喜欢的日期格式并将日期存储为字符串。或者,为了更精确,将其转换为一个历元并存储该数字:)