WebApi返回错误的日期时间

时间:2017-09-27 22:04:59

标签: c# datetime dynamics-crm dynamics-crm-webapi

我正在向Microsoft CRM发送简单查询 通过HttpClient,但结果我可以看到datetime字段有错误的值。 在CRM这个字段有GMT +02:00时区,我在UTC +1。 现在,假设我在CRM datetime值2.2.2017 3:30 PM,当我通过web api运行HttpClient查询,然后我得到值2.2.2017 11:30 AM。因此,即使我将其转换为本地时间值也是错误的。

是否有相同的HttpClient设置,我犯了错误?

1 个答案:

答案 0 :(得分:2)

您可能处于不同的时区,该记录可能由具有不同时区设置的用户创建。因此,CRM会将其存储在Offset中。然后在使用SDK查询返回时,您必须操纵所需的结果。

您真的必须understand CRM日期时间如何运作。

  

日期时间存储在DB:UTC中   CRM UI中显示的日期时间:本地时区
  (即使是仅限日期格式字段,也会应用时区转换)

     

通过API检索的数据时间字段:UTC
  通过过滤视图检索日期时间:本地时区

MSDN可以帮助您验证您的CRM自定义设置&设置,然后得出你正在经历的结论。