Lea*_*sed -1 javascript angularjs angularjs-ng-repeat
我是AngularJS的新手,我想计算时间差two datetime object with format:
小时:分钟:秒
但我希望及时获得两位数输出:
预期输出:00:00:04
输入:
StartDate=2016-06-29 15:52:32.360
EndDate=2016-06-29 15:53:36.970
Expected output: 00 : 01 : 04
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
public class User
{
public int Id { get; set; }
public Nullable<System.DateTime> StartDateTime { get; set; }
public Nullable<System.DateTime> EndDateTime { get; set; }
}
Json output:
[
{
"Id": 121,
"StartDateTime": "\/Date(1467195752360)\/", //2016-06-29 15:52:32.360
"EndDateTime": "\/Date(1467195756970)\/", //2016-06-29 15:53:36.970
},
{
"Id": 122,
"StartDateTime": "\/Date(1467195752360)\/",// 2016-06-29 15:52:32.360
"EndDateTime": "\/Date(1467195758360)\/", //2016-06-29 15:53:36.970
}
]
Run Code Online (Sandbox Code Playgroud)
码:
<td ng-repeat="item in User">
//How to display time difference here
<p> Hour : Minutes : Seconds </p
</td>
Run Code Online (Sandbox Code Playgroud)
您可以使用ng-repeat中的过滤器来实现它:
var app = angular.module('app', []);
app.controller('mainCtrl', function ($scope) {
$scope.timeSlots = [
{
"startDate":1467195752360,
"endDate":1467195756970
},
{
"startDate":1467195752360,
"endDate":1467195758360
}
];
});
app.filter("getDiff", function() {
return function(time) {
var startDate = new Date(time.startDate);
var endDate = new Date(time.endDate);
var milisecondsDiff = endDate - startDate;
return Math.floor(milisecondsDiff/(1000*60*60)).toLocaleString(undefined, {minimumIntegerDigits: 2}) + ":" + (Math.floor(milisecondsDiff/(1000*60))%60).toLocaleString(undefined, {minimumIntegerDigits: 2}) + ":" + (Math.floor(milisecondsDiff/1000)%60).toLocaleString(undefined, {minimumIntegerDigits: 2}) ;
}
});Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html ng-app="app">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular.min.js"></script>
</head>
<body ng-controller="mainCtrl">
<p ng-repeat = "time in timeSlots" ng-bind="time | getDiff">
</body>
</html>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8137 次 |
| 最近记录: |