2013-05-22 44 views
5

我有一個使用自定義顯示模板顯示最近更改的文檔結果的內容搜索Web部件。 我想在文檔Title下面顯示「最後修改日期」。更改SharePoint 2013顯示模板中的日期格式

然後我可以使用#= ctx.CurrentItem.ModifiedOWSDATE =#來獲取日期,但返回的日期顯示爲2013-05-16T12:54:10Z。

如何格式化日期以使其顯示爲16.05.2013 - 12:54?

回答

9

如果您使用與新的Property Mappings相同的方法,則iirc SharePoint應該處理日期轉換。

複製/粘貼在模板中的變量,像這樣:

var modifiedDate = $getItemValue(ctx, "ModifiedOWSDATE"); 
modifiedDate.overrideValueRenderer($contentLineText); 

,並使用該變量來代替:

<p>_#= modifiedDate =#_</p> 

如果要創建新的自定義值渲染等不用於格式化選項日期(我認爲Search.ClientControls使用的默認模式是LongDatePattern)。一個總是可以創建一個日期變量,並做一樣健康:

例子:

<p>_#= new Date(modifiedDate["inputValue"]).toLocaleString() =#_</p> 
+0

謝謝你,工作甜! :) –

+0

您可以改爲使用ctx.CurrentItem.LastModifiedTime。或者,如果您需要將日期轉換爲當前語言環境:var modifiedDateTime = new Date(Date.parse(ctx.CurrentItem.LastModifiedTime)); (); +修改日期時間.toLocaleTimeString –

+0

此外,您可以使用_#= new Date(dt).format(「M/d/yyyy」)=#_格式化日期以滿足您的需求。就我而言,我不想要「MM/dd/yyyy」中的前導零。對於OP,格式將是「dd.MM.yyyy - HH:mm」,以便每個問題產生「16.05.2013 - 12:54」。 – Draghon