2013-05-22 42 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