2012-08-17 54 views
0

我在我的應用程序中使用了鬍子模板。 JSON中的日期時間值如下所示: 如何將它們轉換爲適當的格式?模板中的DateTime格式

Created 
"/Date(1335232596000)/" 

Submitted 
"/Date(1335214659000)/" 
+0

Handlebars.registerHelper("formatDate", function (datetime) { var d = parseInt(datetime.match(/\d+/)); return new Date(d); }); 

然後在你的車把模板中使用? – 2012-08-17 16:25:06

回答

1

您需要將編號與subString()分開並將其用作新日期的毫秒輸入。

var a = "/Date(1335214659000)/"; 
var b = parseInt(a.substring(a.indexOf('(')+1,a.indexOf(')'))); 
var x = new Date(b); 
alert(x); 

更好地使它成爲一個函數。

function GetDateFromJSONData (a) { 
    var b = parseInt(a.substring(a.indexOf('(')+1,a.indexOf(')'))); 
    return new Date(b); 
} 
var x = GetDateFromJSONData("/Date(1335214659000)/"); 
+0

我應該在哪裏做這個轉換?數據從控制器作爲JSON返回之前? – dotNetNewbie 2012-08-17 16:30:24

+1

我不能告訴你:)我不知道你需要使用它。這回答了手頭的問題,如果你想知道更多你需要標記這個答案,然後開一個新的問題。我們通常非常快速和響應。 – Wesley 2012-08-17 16:32:48

0

實測值在 http://weblogs.asp.net/hajan/archive/2010/12/13/jquery-templates-in-asp-net-introduction.aspx

以下溶液。希望它可以幫助別人

<html xmlns="www.w3.org/.../xhtml"> 

<head runat="server"> 

    <title>...</title> 

    <script src="ajax.aspnetcdn.com/.../jquery-1.4.4.min.js" type="text/javascript"></script> 

    <script src="ajax.aspnetcdn.com/.../jquery.tmpl.min.js" type="text/javascript"></script> 

    <script type="text/javascript"> 

     $(document).ready(function() { 

      var test = 

       { 

        Id: '43000796568231937', 

        created_at: '1294003506853-0700' 

       };   

      $("#myTemplate").tmpl(test).appendTo("#tblMyTable"); 

     }); 

     function FormatDate(jDate) { 

      alert("jDate:" + jDate); 

      var date = eval(jDate.replace(/\/Date\((\d+)\)\//gi, "new Date($1)")); 

      alert(date); 

      var dDate = new Date(date); 

      alert(dDate); 

      var year = dDate.getFullYear(); 

      alert(year); 

      return dDate; 

     } 

    </script> 

    <script id="myTemplate" type="text/html"> 

     <tr><td>${Id} - ${FormatDate(created_at)}</td></tr> 

    </script> 

</head> 

<body> 

    <form id="form1" runat="server"> 

     <table id="tblMyTable"></table> 

    </form> 

</body> 

</html> 
0

我知道這個問題是舊的,但在2014年的車把上的解決辦法是使用一個輔助。例如:您是否在使用JSON序列化或解串器

{{formatDate Created}} 

{{formatDate Submitted}} 

希望這有助於