我的控制器使用JSON将日期数据发送到视图。在视图上,我将这些数据发送到jQuery模板进行显示。我的问题是日期,因为我得到的是

"/Date(1245398693390)/"


所以我尝试了this solution,但是使用FireBug可以看到在行上抛出了一个错误

var value = new Date(parseInt(jsonDate.substr(6)));


与错误


  jsonDate.substr is not a function


如果很重要,我正在尝试使用jQuery mobile来实现。

更新资料

<script id="myDataTemplate" type="text/html">
    <li>@Html.ActionLink("${GetDateString(Date)}", "Fetch", "Data")</li>
</script>


这是注入到布局视图中的js函数

<script>
            function getDateString(jsonDate) {
                if (jsonDate == undefined) {
                    return "";
                }
                var utcTime = parseInt(jsonDate.substr(6));

                var date = new Date(utcTime);
                var minutesOffset = date.getTimezoneOffset();

                return date.addMinutes(minutesOffset).toString("M/d/yyyy h:mm tt");
            }
        </script>


更新2
这是我最初使用的js函数

function GetDate(jsonDate) {
  var value = new Date(parseInt(jsonDate.substr(6))); //breaks
  return value.getMonth() + 1 + "/" + value.getDate() + "/" + value.getFullYear();
}

最佳答案

工作测试

   var aa = "/Date(1245398693390/".match(/\d+/);

   var bb = parseInt(aa);

   var date = new Date(bb);

   alert(date);

10-05 20:53
查看更多