2013-05-22 8 views
5

Ich verfüge über ein Webpart für Inhaltssuche, das eine angepasste Anzeigevorlage verwendet, um Ergebnisse kürzlich geänderter Dokumente anzuzeigen. Ich möchte das "letzte Änderungsdatum" unter dem Titel des Dokuments anzeigen.Ändern des Datumsformats in Anzeigevorlagen für SharePoint 2013

dann kann ich verwenden # = ctx.CurrentItem.ModifiedOWSDATE = # das Datum zu bekommen, aber das zurückgegebene Datum als 2013-05-16T12 angezeigt wird: 54: 10Z.

Wie kann ich das Datum so formatieren, dass es wie 16.05.2013 - 12:54 angezeigt wird?

Antwort

9

iirc SharePoint sollte die Datumskonvertierung verarbeiten, wenn Sie den gleichen Ansatz wie bei neuen Eigenschaftszuordnungen verwenden.

Kopieren/Einfügen ist eine Variable in der Vorlage, so etwas wie:

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

Und diese Variable verwenden, anstatt:

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

Wenn eine neue benutzerdefinierte Schaffung von Mehrwert-Renderer usw. ist keine Option für die Formatierung Das Datum (Das von Search.ClientControls verwendete Standardmuster ist LongDatePattern, denke ich). Man könnte immer ein Date-Variable erstellen, und tut, wie fit:

Beispiel:

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

Danke, das funktionierte süß! :) –

+0

Sie könnten stattdessen stattdessen ctx.CurrentItem.LastModifiedTime verwenden. Oder: Wenn Sie das Datum in ein aktuelles Gebietsschema konvertieren müssen: var modifiedDateTime = new Date (Date.parse (ctx.CurrentItem.LastModifiedTime)); modifiedDateTime = modifiedDateTime.toLocaleDateString() + "" + modifiedDateTime.toLocaleTimeString(); –

+0

Zusätzlich können Sie das Datum nach Ihren Bedürfnissen formatieren mit _ # = new Date (dt) .format ("M/d/yyyy") = # _. In meinem Fall wollte ich nicht die führenden Nullen in "MM/TT/JJJJ". Für das OP würde das Format "dd.MM.yyyy - HH: mm" sein, um "16.05.2013 - 12:54" pro Frage zu erzeugen. – Draghon

Verwandte Themen