Dynamics crm MSCRM olderthanx小时和当前时间

Dynamics crm MSCRM olderthanx小时和当前时间,dynamics-crm,Dynamics Crm,我创建了一个QueryExpression,其中一个条件设置为(“dev_lastremarketing time”,ConditionOperator.OlderThanXHours,1);  目的是检索dev_lastremarketing time值后一小时的多个记录 表中有符合此条件的记录,但是不会返回这些记录。当我检查记录(这次检索特定记录的倍数)时,用于比较的时间似乎不一致 例如,查看相关账户记录时,账户表单上显示的dev_LastRemarketing Time的值为2017年5月

我创建了一个QueryExpression,其中一个条件设置为(“dev_lastremarketing time”,ConditionOperator.OlderThanXHours,1);  目的是检索dev_lastremarketing time值后一小时的多个记录

表中有符合此条件的记录,但是不会返回这些记录。当我检查记录(这次检索特定记录的倍数)时,用于比较的时间似乎不一致

例如,查看相关账户记录时,账户表单上显示的dev_LastRemarketing Time的值为2017年5月17日下午8:57。内部时间为2017年5月18日上午12:57:27。测试时的挂钟显示2017年5月17日下午10:38:11(或2017年5月18日凌晨2:38:11 UTC)。此记录应已由查询返回(当前时间比dev_lastremarketing time的值晚一个多小时)

如果我等待几个小时,然后再次运行我的应用程序,就会检索到预期的记录。 因此,带有ConditionOperator.OlderThanXHours的查询表达式似乎在比较当前东部夏时制与记录的UTC时间

我如何让这个查询比较相同的时区(我认为哪一个并不重要)


(我的个人选项包括设置东部时间,而不是使用OlderThanXHours运算符,可以尝试使用“小于”,它提供对要筛选的日期时间值的控制

这样,您可以使用UTC时间减去一小时,如下所示:

var qe = new QueryExpression("myentity");
qe.Criteria.AddCondition("dev_lastremarketingtime", ConditionOperator.LessThan, DateTime.UtcNow.AddHours(-1));

这就是我最后所做的,我认为它是有效的。我仍然不明白为什么老的X小时不起作用。谢谢