【问题标题】:How to serialize dates with JavaScriptSerializer如何使用 JavaScriptSerializer 序列化日期
【发布时间】:2018-07-03 13:25:44
【问题描述】:

我正在尝试使用 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 所以结果是“失败”。我做错了什么?

谢谢

【问题讨论】:

    标签: c# datetime javascriptserializer


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-18
      • 2011-07-27
      相关资源
      最近更新 更多