2013-05-22 12 views
5

Ho una web part Ricerca contenuto che utilizza un modello di visualizzazione personalizzato per visualizzare i risultati dei documenti modificati recenti. Vorrei mostrare "l'ultima data di modifica" sotto il titolo del documento.Modifica del formato della data nei modelli di visualizzazione per SharePoint 2013

posso quindi utilizzare # = ctx.CurrentItem.ModifiedOWSDATE = # per ottenere la data, tuttavia la data restituita viene visualizzata come 2013-05-16T12: 54: 10Z.

Come posso formattare la data in modo che venga visualizzata come 16.05.2013 - 12:54?

risposta

9

iirc SharePoint dovrebbe gestire la conversione della data se si utilizza lo stesso approccio che si ha con i nuovi mapping di proprietà.

Copia/incolla di una variabile nel modello, qualcosa come:

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

e l'uso che variabile, invece:

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

Se la creazione di un costume nuovo valore renderer ecc non è un'opzione per la formattazione la data (il modello predefinito utilizzato da Search.ClientControls è LongDatePattern penso). Si potrebbe sempre creare una variabile data, e fare come in forma:

Esempio:

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

Grazie che ha lavorato dolce! :) –

+0

Puoi semplicemente usare ctx.CurrentItem.LastModifiedTime. Oppure, se è necessario convertire la data in una locale corrente: var modifiedDateTime = new Date (Date.parse (ctx.CurrentItem.LastModifiedTime)); modifiedDateTime = modifiedDateTime.toLocaleDateString() + "" + modifiedDateTime.toLocaleTimeString(); –

+0

Inoltre, è possibile formattare la data in base alle proprie esigenze utilizzando _ # = new Date (dt) .format ("M/g/aaaa") = # _. Nel mio caso, non volevo gli zeri iniziali in "MM/gg/aaaa". Per l'OP, il formato dovrebbe essere "gg.mm.aaaa - HH: mm" per produrre "16.05.2013 - 12:54" per la domanda. – Draghon

Problemi correlati