0

アプリケーションで口ひげテンプレートを使用しています。JSONの日時の値を以下に示します。適切な形式に変換するにはどうすればよいですか?

Created 
"/Date(1335232596000)/"

Submitted
"/Date(1335214659000)/"
4

3 に答える 3

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)/");
于 2012-08-17T16:24:41.457 に答える
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>
于 2013-04-23T23:16:07.983 に答える
0

この質問が古いことは承知していますが、2014 年のハンドルバーの解決策はヘルパーを使用することです。例えば:

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

次に、ハンドルバー テンプレートで使用します。

{{formatDate Created}}

また

{{formatDate Submitted}}

お役に立てれば

于 2014-10-08T22:04:26.263 に答える