我写了一个C#插件,它从Dynamics CRM中读取数据,但我遇到了日期问题。很多时候,当我在插件中处理它时,来自CRM的日期相差一天。例如。 1/7/2017将成为1/8/2017。它必须与我想的时区有关,尽管CRM与我工作的时区相同。是否有任何方法可以从CRM中获取日期,并将该日期用作已读,而不是根据时间进行调整时区或什么?我试图用UTC日期格式瞎扯,但有些东西不起作用。C#插件中的日期在Dynamics CRM中相差一天
0
A
回答
0
这完全是一个时区问题。最新的CRM版本为datetime字段提供了TimeZone Independent
选项来为这类问题提供解决方法(您可以在自定义中更改字段选项;请记住这是一个设置后无法恢复的选项)。
1
您应该阅读这个article。突出显示最重要的部分:
CRM DateTime始终附带时间分量。有一个在 创建只定义日期日期时间字段的设置,但这一切确实 是默认时间为午夜本地
日期时间为UTC时间保存在数据库中的时间
日期时间在CRM UI总是根据用户的当地时区显示。 即使UI仅显示日期组件,也是如此。此 导致以下影响:如果CST中的用户输入联系人的出生日期 截止日期为2/2/1980,则这将在数据库中保存为2/2/1980 05:00如果PST 中的用户查看联系人记录,他/她看到生日为1980年2月1日 (因为本地时间,用户将1980年2月1日22:00)
日期时间通过CRM Web服务检索到的始终是UTC时间
日期时间设定通过CRM Web Services是用户的本地时区 默认
注意th在格外小心,一定要注意了解有无通话 与主叫用户或服务的用户
日期时间通过CRM Web服务设置完成可以被定义为UTC 代替
日期时间直接从查询SQL表或基本视图返回UTC
日期时间从过滤视图查询返回用户本地时间
因此,当您检索UTC获取日期时,基本上就是这种差异的原因。要比较日期,您应该使用UTC或只需拨打ToLocalTime()
将UTC转换为当地时间。
相关问题
- 1. 在Dynamics CRM插件中生成的Microsoft.Xrm.Sdk.SaveChangesException
- 2. dynamics crm 2016在插件中使用Microsoft.Xrm.Tooling.Connector
- 3. Dynamics CRM插件 - 设置相关记录
- 4. Dynamics CRM中更换公司的插件
- 5. Dynamics CRM FetchXML - 今天是生日
- 6. Dynamics CRM中的插件获取相关实体属性值
- 7. Dynamics CRM 4.0 - 月的天数?
- 8. Dynamics crm 2011 - 异步插件
- 9. PHP差异日期一天
- 10. Dynamics CRM工作流程日期字段
- 11. 通过在Microsoft Dynamics使用插件CRM
- 12. 在DateTime字段中隐藏日期部分MS Dynamics CRM 2011
- 13. 在json中插入今天的日期
- 14. 在MySQL中插入今天的日期
- 15. Dynamics CRM 2011中的导出日期格式
- 16. Dynamics CRM Online中的自定义报告 - 默认日期参数
- 17. Dynamics CRM 2015中的日期参数问题sql报告
- 18. 调用联系人的Crm Dynamics插件
- 19. Dynamics crm onchange事件验证指定日期是否在日期范围内
- 20. 的Microsoft Dynamics CRM插件:在CRM检索查找场
- 21. Zend的日期 - 天差
- 22. 更改插件中Dynamics CRM电子邮件的发件人?
- 23. 如何在Dynamics CRM Online中更新已部署的插件
- 24. 更改日期一天Datetimepicker插件
- 25. Dynamics CRM中2013contacts form_onload
- 26. 在Dynamics CRM中未授权
- 27. 最好的jQuery日期插件极端差异日期(1000+ BC - 今天)
- 28. 在Dynamics CRM C#插件中检索查找字段的显示值
- 29. 的Objective-C&与Microsoft Dynamics CRM
- 30. Microsoft Dynamics CRM 2011 - 创建插件屏幕