JTemplates format Date using asp.net mvc

date, format, json, jtemplate, model-view-controller

Solution

Answer below in case anybody else searches this post...

Add the following JScript....

function formatJSONDate(jsonDate) {
    var date = eval(jsonDate.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"));
    return dateFormat(date, "ddd ddS mmm yyyy");
 }  

download a javascript date format library then in your jTemplate template add

<td>{formatJSONDate($T.match.DateProcessed)}</td>

And that's that!

Problem

I have the following JSON date returned from a MVC page e.g. ``` "DateProcessed":"\/Date(1258125238090)\/" ``` and I am using JTemplates to process the data as below. ``` $('#result').setTemplate($("#TemplateResultsTable").html()); $("#result").processTemplate(data); ``` This is my results template ``` <script type="text/html" id="TemplateResultsTable"> <h3>{$T[0].StatusName} - Found: {$T.length} </h3> <table> <tr> <th>Name</th> <th>Description</th> <th>Date Processed</th> </tr> {#foreach $T as match} <tr> <td>{$T.match.Title}</td> <td>{$T.match.Description}</td> <td>{$T.match.DateProcessed}</td> </tr> {#/for} </table> </script> ``` All works great apart from the fact that my date is outputted on the page as /Date(1258125238090)/ How do I format the date inside my results template?

Original source