条件のいずれかを( "dev_lastremarketingtime"、ConditionOperator.OlderThanXHours、1)に設定してQueryExpressionを作成しました。 目的はdev_lastremarketingtimeの値の1時間後の複数のレコードを取得することです。MSCRM OlderThanXHoursと現在の時刻
テーブルにこの基準を満たすレコードがありますが、返されません。私がレコード(今回は特定のレコードのRetrieveMultiple)を調べると、比較に使用された時間は一貫していないようです。
たとえば、問題の口座レコードを表示すると、アカウントフォームに表示されるdev_lastremarketingtimeの値は5/17/2017 8:57 PMです。内部は時刻5/18/2017 12:57:27 AMです。テスト時の壁時計は、2011年5月17日10:38:11 PM(または2011年5月18日2:38:11 UTC)を示します。このレコードはクエリによって返されているはずです(現在の時刻はdev_lastremarketingtimeの値の1時間以上前です)
私は数時間待ってから再度アプリケーションを実行すると、予想されるレコードが取得されます。 したがって、ConditionOperator.OlderThanXHoursを含むクエリ式は、現在のEastern Daylight時間とレコードのUTC時間を比較しているようです。
どのようにしてこのタイムゾーンを比較することができますか(どちらが問題なのでしょうか?)
(私の個人的なオプションは、代わりにOlderThanXHours演算子を使用しての東部時間
を、これは私がやってしまったことですし、私はそれがうまくいくと思うOlderTHanXHoursが機能しなかった理由を、私はまだ理解していない感謝。 –