Récemment, j'ai essayé d'obtenir la valeur datetime du champ personnalisé dans l'entité Facture Throuhg plugin et a constaté qu'il retourne un jour avant la date affichée dans le formulaire CRM. Pour incstance, je suis entré dans "01/07/2013" et dans mon C# le code suivant retourne "30/06/2013":datetime plugin crm 2011
EntityReference eRef = new EntityReference(localContext.PluginExecutionContext.PrimaryEntityName, localContext.PluginExecutionContext.PrimaryEntityId);
var invoice = localContext.OrganizationService.Retrieve(eRef.LogicalName, eRef.Id, new ColumnSet(true));
string start = ((DateTime)invoice["revg_startdate"]).ToString(); //here I get 6/30/2013
Alors j'ai vérifié la datetime réelle dans le tableau pertinent MS SQL , et il conserve exactement un jour avant, "30/06/2013"
La date, l'heure et les fuseaux horaires sont absolument identiques sur le serveur, mon PC et dans le CRM.
Pourquoi CRM conserve et affiche différentes dates?
réponse parfaite, +1 –
il est trop facile d'être si évident pour moi. Merci, Svendberg – Gostapko
Assurez-vous que si vous utilisez l'appel '.ToLocalTime()', vous savez que vous obtenez l'heure du serveur qui exécute le plugin. Pas le temps de l'utilisateur. Si vous voulez convertir l'heure UTC dans l'heure de l'utilisateur, voir cette réponse: http://stackoverflow.com/questions/11364982/server-side-fetchxml-returns-different-results/11367508#11367508 – Daryl