2012-08-17 78 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}} 

希望这有助于