2016-04-15 38 views
0

我有一個自定義內容類型與.docx模板庫。SharePoint:錯誤日期在Word模板的快速部分

我在內容類型中有一個'StartDate'和'EndDate'字段,它們被映射到.docx模板中的快速部分。

當我在項目屬性中更改這兩個字段的值時,它也會更新文檔中的值(因爲它應該是)。

問題

文檔中的值總是休息一天。

例如,如果我將日期設置爲15/04/2016,則會在文檔上顯示14/04/2016。

我該如何讓他們平等?

時區和一切似乎都很好,在SharePoint和我的本地機器上。

回答

1

我相信這個問題是由SharePoint存儲日期和時間值的方式造成的。從SharePoint MSDN article on Converting Date and Time Values

微軟的SharePoint Foundation存儲日期和協調世界時(UTC)格式的時間值,以及由對象模型的成員返回幾乎所有的日期和時間值都在UTC格式。

因此,當您在本地時間在SharePoint中輸入日期和時間時,SharePoint會以協調通用時間(UTC)存儲該信息。但是,當Word中的映射內容控件檢索日期/時間值時,它將收到UTC當量值,無論您的本地日期和時間是多少(SharePoint本身都會自動將日期和時間值轉換爲在其自己的用戶界面中顯示該信息時的當地時間) 。

我認爲解決這個問題的最好方法是創建未顯示的計算字段。計算的字段將從內容類型的'StartDate'和'EndDate'字段中獲取輸入日期/時間值,並針對您的本地UTC偏移進行更正。然後,您可以將修正後的計算值映射到Word文檔中的「快速部件」。

+0

感謝@joeschwa,我在腦海中解決了這個問題,以防我不能以其他方式解決這個問題......所以我想我還能做什麼?這是starnge,因爲我找不到有關這個問題的任何文章......它看起來像一個常見的東西快速部分 –

+0

對不起,說似乎沒有另一種選擇。 UTC在任何地方都會在外部使用SharePoint日期/時間數據時創建一系列問題。我列出的MSDN文章是我見過的唯一官方微軟提到的。不過有博客文章。這裏有兩個:[ClientSight SP Blog on UTC](http://itblog.wolthaus.net/2011/09/sharepoint-stores-dates-in-utc-time/)和[Francois Verbeeck on SP UTC](https ://francoisverbeeck.wordpress.com/2012/05/24/sharepoint-tip-of-the-day-be-careful-when-wor/)。 – joeschwa

+0

這就是我所能找到的......:D謝謝! –