/ Date(1537909200000)/我在'AngularJS'中有日期格式问题

时间:2018-12-01 09:21:09

标签: c# .net angularjs

我无法以json格式在列表中显示日期。我应该如何走。我的角度js知识不好,但是我需要使用它。

HtmlPage

  <tbody ng-init="GetAllMatches()">
                    <tr ng-repeat="m in filteredlist =(matches.data
                            | filter:filterlist)
                            | orderBy:sort:reverse
                            | pagination: currentPage : numPerPage"
                        ng-if="gamePlayed">
                        <td>{{m.HomeTeamName}}</td>
                        <td>{{m.AwayTeamName}}</td>
                        <td>{{m.StadiumName}}</td>
                        <td>{{m.Referee}}</td>
                        <td>{{m.Weather}}</td>
                        <td>{{ m.StartDate}}</td>
                    </tr>
                </tbody>

.netMVC

   var matches = await AppService.MatchService.GetMatchesAsync();
        return Json(new { data = matches }, JsonRequestBehavior.AllowGet);

JS

$scope.GetAllMatches = function () {
    $http({
        method: "GET",
        url: "/Match/GetAllMatchAsync"
    }).then(function (response) {
        $scope.matches = response.data;
    }, function () {
        alert("error");
    });
};

查看

/Date(1537909200000)/

已解决

我没有找到有关您的问题的任何信息,但是... 解决方案:

  

{{m.StartDate.slice(6,-2)|日期:'yyyy-MM-dd HH:mm:ss'}}

1 个答案:

答案 0 :(得分:0)

为什么您的API不以ISO 8601格式返回日期?如果您以ISO 8601格式返回字符串,则只需将字段函数包装成这样

function parseISO8601Date(dateStr) {
  return new Date(dateStr); 
}

如果您真的无法更改API以返回正确的ISO 8601格式的日期字符串,那么此博客条目可能会帮助您https://weblog.west-wind.com/posts/2014/Jan/06/JavaScript-JSON-Date-Parsing-and-real-Dates

这是链接是否消失

if (window.JSON && !window.JSON.dateParser) {
    var reISO = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*))(?:Z|(\+|-)([\d|:]*))?$/;
    var reMsAjax = /^\/Date\((d|-|.*)\)[\/|\\]$/;

    JSON.dateParser = function (key, value) {
        if (typeof value === 'string') {
            var a = reISO.exec(value);
            if (a)
                return new Date(value);
            a = reMsAjax.exec(value);
            if (a) {
                var b = a[1].split(/[-+,.]/);
                return new Date(b[0] ? +b[0] : 0 - +b[1]);
            }
        }
        return value;
    };

}

var date = JSON.parse(json,JSON.dateParser);  
console.log(date);