Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WebAPI JSON日期和AngularJS_Json_Angularjs_Asp.net Web Api - Fatal编程技术网

WebAPI JSON日期和AngularJS

WebAPI JSON日期和AngularJS,json,angularjs,asp.net-web-api,Json,Angularjs,Asp.net Web Api,我正在开发一个用ASP.NET WebAPI和Angular编写的应用程序。除了我从WebAPI获得的JSON日期之外,一切都很好,它看起来像/Date(1402034400000)/。Angular不知道怎么处理这根绳子。如果我将其解析为数字,那么当我使用date:'MM/dd/yyyy'时,它会将其转换为日期 我该如何用角度的方式来解决这个问题?也许是指令 在该视图中,person.trainingDate在呈现的HTML中看起来像/Date(1402034400000)/。即使我添加| d

我正在开发一个用ASP.NET WebAPI和Angular编写的应用程序。除了我从WebAPI获得的JSON日期之外,一切都很好,它看起来像
/Date(1402034400000)/
。Angular不知道怎么处理这根绳子。如果我将其解析为数字,那么当我使用
date:'MM/dd/yyyy'
时,它会将其转换为日期

我该如何用角度的方式来解决这个问题?也许是指令

在该视图中,person.trainingDate在呈现的HTML中看起来像
/Date(1402034400000)/
。即使我添加
| date:'MM/dd/yyyy'
,它也会显示相同的内容,因为angular无法将字符串识别为可解析的日期

<table class="table table-bordered table-hover">
    <thead><tr><th>Training Date</th></tr></thead>
    <tbody>
        <tr ng-repeat="person in company.people">
            <td>{{person.trainingDate}}</td>
        </tr>
    </tbody>
</table>

培训日期
{{person.trainingDate}
谢谢,


Aaron

如果WebApi返回的值是一个实际日期,而不是转换为字符串的日期,则返回的值将类似于“2012-03-19T07:22Z”,这实际上是字符串


除IE8或更早版本(据我所知)外,大多数浏览器都能将此值理解为date,这取决于浏览器,但为了保证此值被解析为date,您可以使用其他JS库,如。

要解决此问题,您可以创建自定义筛选器,请参阅

html:


{{person.trainingDate}customDate}

var app = angular.module('app', []);

app.filter('customDate', function(){
  return function(value) {
  var myDate = new Date(value.match(/\d+/)[0] * 1);  
  return  myDate;
  };

});
app.controller('firstCtrl', function($scope){

  $scope.person= {
    trainingDate: '/Date(1402034400000)/'
  };
});
 <div ng-controller="firstCtrl">
  <p>{{person.trainingDate | customDate }}
</p>