2011-05-03 5 views
1

J'ai une liste SharePoint avec le champ DateTime. J'utilise l'API du client Silveright SharePoint pour mettre à jour ces champs. Lorsque j'enregistre une valeur dans le champ, elle est enregistrée et affichée dans SharePoint sans problème. Mais quand j'essaye d'obtenir la valeur, c'est absolument différent (moins un peu de temps). Qu'est ce qui ne va pas avec ça?API du client Sharepoint Champ DateTime non valide

Dans SharePoint, le datetime est:

enter image description here

Code de charge:

clientContext.Load(contactItem, item => item[Constants.TipFields.Title], 
    item => item[Constants.TipFields.Description], 
    item => item[Constants.TipFields.UserDefinedDateTime], 
    item => item.Id);` 

Ici, j'ai une date incorrecte:

var description = tipItem[Constants.TipFields.Description] as String; 
var title = tipItem[Constants.TipFields.Title] as String; 
var date = tipItem[Constants.TipFields.UserDefinedDateTime] as DateTime; 

Et datetime chargé est: enter image description here

Qu'est-ce qui ne va pas ici? Sharepoint stocke tous les champs de date en UTC.

+4

La valeur que vous récupérez est 2 heures plus tôt que la valeur affichée dans SharePoint. Est-ce une conversion de fuseau horaire? – CBono

+0

Je ne veux pas convertir la valeur. Qu'est-ce que je suppose faire ??? – Evgeny

+5

Ce que vous ** voulez ** faire ici n'est pas pertinent. Si SharePoint stocke la date en tant que valeur UTC mais ne la convertit pas lorsque vous la récupérez, il est ** votre ** travail de la convertir en fonction de vos besoins. – CBono

Répondre

-1

Vous pouvez résoudre ce bogue (fonctionnalité dans sharepoint) en utilisant du texte brut simple ou un champ personnalisé pour stocker une date spécifique non au format UTC.

5

En d'autres termes, si vous enregistrez un champ date-heure dans une liste, Sharepoint convertit l'heure que vous avez sélectionnée en heure UTC et la convertit dans le fuseau horaire de la personne lors de la récupération. Commencez par vérifier s'il existe une différence entre le fuseau horaire de votre serveur et celui de votre client.

Questions connexes