5

从 Dynamics CRM Web API 返回的 DateTime 对象是否始终采用 UTC 格式,并且记录在哪里?

我正在使用 CRM SDK nuget 包。我在几个博客(由 CRM 商店)上读到 CRM API 始终返回 UTC DateTime 对象,并且我体验到 DateTime.Kind 始终是 UTC(根据我的测试),但我需要确定。

如果重要的话,CRM 是 2015 年。

我正在使用以下代码调用 Dynamics CRM Web 服务。

 var querybyattribute = new QueryByAttribute()
 {
     EntityName = Opportunity.EntityLogicalName,
     ColumnSet = new ColumnSet(true)//all columns
 };

querybyattribute.Attributes.AddRange(attributeName);
querybyattribute.Values.AddRange(attributeValue);

然后调用 RetreiveMultiple

EntityCollection entities;
using (var proxy = new ManagedTokenOrganizationServiceProxy(serviceManagement, credentials))
{
    entities = proxy.RetrieveMultiple(query);
}
4

2 回答 2

5

CRM 中有三种不同类型的日期行为。其中只有两个真正具有时区的概念。这三种类型的行为可以在MSDN上找到,相关部分复制在这里:

UserLocal(这是 CRM 2015 pre Update 1 中唯一可用的)

检索操作返回 UTC 值。

仅日期

对于检索和更新操作,不进行时区转换,时间值始终为 12 AM (00:00:00)。

时区独立

对于检索和更新操作,不进行时区转换,在系统中分别返回和更新实际的日期和时间值,与用户时区无关。

于 2016-06-29T16:13:03.413 回答
2

“在 Web 服务 (SDK) 中,这些值使用通用 UTC 时区格式返回。”

https://technet.microsoft.com/en-us/library/dn946904.aspx

于 2016-06-29T16:07:48.303 回答