2014-09-19 5 views
0

При добавлении записи о дате в crm 2013, ее удаление 2 часа из моей записи. Который является ожидаемым поведением crm как коррекции часовых поясов.CRM 2013 Entity.GetAttributeValue <T> datetime to string

Следующее ожидаемое поведение, возвращая сущность с помощью вызова organisationService RetrieveMultiple api, возвращает мне ту же запись без дополнительных 2 часов.

Теперь странная магия начинается с использования Entity.GetAttributeValue (имя поля), она должна дать мне дату и время с дополнительными 2 часами, поскольку это параметр из crm. Но это то, что я получаю:

Create record: '01/10/2014' 
CRM stores: '30/09/2014 22:00:00' 
Retreive entity results to: '30/09/2014 22:00:00' 
Use Entity.GetAttributeValue<DateTime>(fieldname) results to: '30/09/2014 00:00:00' 

Почему это не говорится 01/10/2014 после использования этого метода?

ответ

1

GetAttributeValue является только помощником, если значение поля DateTime внутри CRM равно null, GetAttributeValue возвращает DateTime.MinValue.

Вам нужно всегда использовать .ToLocalTime(), чтобы получить локальное значение DateTime вместо значения UTC.

+0

Сколько раз люди будут задавать вопросы, связанные с UTC? Они всегда в немного другом аспекте, поэтому они не дубликаты, но я думаю, что мы с вами ответили как 10 между нами. – Daryl

 Смежные вопросы

  • Нет связанных вопросов^_^