【问题标题】:Newtonsoft date parse error (removes one day)Newtonsoft 日期解析错误(删除一天)
【发布时间】:2017-10-07 11:19:18
【问题描述】:

在我的 TypeScript 项目中,有一个用户可以选择日期的功能。

例如:(JSON)

"IssueDate":"Wed Jan 18 2017 00:00:00 GMT+0200 (Jordan Standard Time)"

但是在我的控制器中使用 Newtonsoft 解析对象时,结果日期属性总是少一天

IssueDate: {1/17/2017 10:00:00 PM}

知道为什么会这样吗?我需要以某种方式配置 Newtonsoft 来防止这种情况吗?

【问题讨论】:

  • Midnight GMT +2 解析时转换为 10PM GMT
  • 那我该怎么办?
  • 似乎控制器端DateTime解析器的Kind属性设置为UTC而不是本地时间,也许您可​​以使用ToString在本地时间显示或更改解析器行为以接受当地时间。
  • 我获取对象的方式是使用[FromBody] 属性。那么如何将Kind 设置为当地时间而不是UTC

标签: javascript c# json typescript


【解决方案1】:

在 webapi 项目的注册方法中试试这个

GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.DateTimeZoneHandling =DateTimeZoneHandling.Local;

【讨论】:

  • 设置 DateTimeZoneHandling.Local 为我做了这个,所以更新你的答案:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多