2011-05-03 66 views
1

我有一個與DateTime字段的SharePoint列表。我正在使用Silverlight SharePoint客戶端API更新這些字段。當我將值保存到該字段時,它將保存並顯示在SharePoint中,不會有任何問題。Sharepoint客戶端API無效日期時間字段

但是,當我嘗試獲得價值時,它是完全不同的(減去一段時間)。它出什麼問題了?

在SharePoint,日期時間爲:

enter image description here

負載代碼:

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

在這裏,我有一個不正確的日期:

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

,並加載日期時間爲: enter image description here

這裏有什麼問題?

+4

您檢索到的值僅比在SharePoint中顯示的值早2小時。這是一個時區轉換嗎? – CBono 2011-05-03 12:58:32

+0

我不想轉換價值。我想要做什麼? – Evgeny 2011-05-03 14:52:50

+5

你**想要**在這裏做什麼並不重要。如果SharePoint將日期存儲爲UTC值,但在檢索時未將其轉換,則它是**您的**作業將其轉換爲適合您的用途。 – CBono 2011-05-03 15:25:17

回答

-1

通過使用簡單的純文本或自定義字段來存儲不是UTC格式的特定日期時間,可以解決此bug(sharepoint中的功能)。

5

Sharepoint以UTC格式存儲所有日期字段。也就是說,如果您要將日期時間字段保存在列表中,Sharepoint實際上會將您選擇的時間轉換爲UTC,並將其轉換回該人員在檢索時所處的任何時區。

首先檢查您的服務器時區和您的客戶端是否有區別。