WebAPI JSON日期和AngularJS
我正在开发一个用ASP.NET WebAPI和Angular编写的应用程序。除了我从WebAPI获得的JSON日期之外,一切都很好,它看起来像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
/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>