json.net 和错误的日期与 +00:00 后缀



我序列化具有 DateTime 属性的对象,如下所示:JsonConvert.SerializeObject(my_object) ,然后在另一台机器上反序列化:result = JsonConvert.DeserializeObject<Result>(r); 。有些日期是错误的。我已经通过小提琴手检查过,当 json 中的日期看起来像这样时Date=2014-11-29T18:41:41.1672899它被正确反序列化,但每 10 个左右的条目看起来像Date=2014-11-29T18:55:39.1175417+00:00(注意 +00:00),然后它被反序列化为日期偏移了两个小时。为什么会这样以及如何解决这个问题?

您可以在JsonSerializerSettings上显式将DateTimeZoneHandling设置为DateTimeZoneHandling.Utc

Result result = JsonConvert.DeserializeObject<Result>(r, new JsonSerializerSettings
{
  DateTimeZoneHandling = DateTimeZoneHandling.Utc
});

相关内容

  • 没有找到相关文章

最新更新