2013-05-22 16 views
5

Posiadam witrynę Web Content Content Search, która używa niestandardowego szablonu wyświetlania do wyświetlania wyników ostatnio zmienionych dokumentów. Chciałbym pokazać "ostatnią datę modyfikacji" poniżej tytułu dokumentu.Zmiana formatu daty w szablonach wyświetlania dla programu SharePoint 2013

Mogę następnie użyć # = ctx.CurrentItem.ModifiedOWSDATE = #, aby uzyskać datę, jednak zwrócona data jest wyświetlana jako 2013-05-16T12: 54: 10Z.

Jak sformatować datę tak, aby była wyświetlana od 16.05.2013 do 12:54?

Odpowiedz

9

Program iirc SharePoint powinien obsługiwać konwersję daty, jeśli używa się tego samego podejścia, co w przypadku nowych odwzorowań właściwości.

Kopiuj/wklej zmiennej w szablonie, coś takiego:

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

i używać zmiennej Zamiast:

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

przypadku tworzenia nowego obyczaju Wartość Renderer etc nie jest opcja formatowania data (domyślny wzorzec używany przez Search.ClientControls jest myślę, że jest to LongDatePattern). One zawsze można utworzyć zmienną data i zrobić za zdolnych:

Przykład:

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

Dziękuję, że pracował słodki! :) –

+0

Zamiast tego możesz użyć ctx.CurrentItem.LastModifiedTime. Lub, jeśli chcesz przekonwertować datę na bieżące ustawienia narodowe: var modifiedDateTime = new Date (Date.parse (ctx.CurrentItem.LastModifiedTime)); modifiedDateTime = modifiedDateTime.toLocaleDateString() + "" + modifiedDateTime.toLocaleTimeString(); –

+0

Dodatkowo, możesz sformatować datę do własnych potrzeb za pomocą _ # = new Date (dt) .format ("M/d/rrrr") = # _. W moim przypadku nie chciałem wprowadzać zera w "MM/dd/rrrr". W przypadku PO formatem byłoby "dd.MM.rrrr - HH: mm", aby wytworzyć "16.05.2013 - 12:54" za pytanie. – Draghon