Я хочу вычесть две даты в angularjs, которые извлекаются из базы данных. Код прекрасно работает для всех значений, кроме вычитания между датами, выбираемыми из базы данных … Я использовал PHP с MySQL
Может кто-нибудь сказать мне, как сделать это вычитание. Вот код Спасибо заранее
<html>
<head>
<script src="angular.js"></script>
<script>
var app= angular.module("myapp",[]);
app.controller("mycontroller",function($scope,$http){
$http.get("select.php").success(function(response)
{
$scope.names = response.data.records;});
});
</script></head>
<body ng-app="myapp" ng-controller="mycontroller">
<table border=1>
<tr>
<th>ID </th>
<th>Name of employee</th>
<th>Start Date </th>
<th>End Date </th>
<th>No of days Worked </th>
</tr>
<tr ng-repeat="emp in names">
<td>{{emp.id}}</td>
<td>{{emp.name}}</td>
<td>{{emp.stDate}}</td>
<td>{{emp.enDate}}</td>
<td>{{emp.stDate-emp.enDate}}</td>
</tr>
</table>
</body>
Вам просто нужно написать функцию контроллера, которая выполняет все вычисления и возвращает результат.
$scope.calDate = function(date1, date2){
var dateOut1 = new Date(date1); // it will work if date1 is in ISO format
var dateOut2 = new Date(date2);
var timeDiff = Math.abs(dateOut2.getTime() - dateOut1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
return diffDays;
};
и в HTML
<tr ng-repeat="emp in names">
<td>{{emp.id}}</td>
<td>{{emp.name}}</td>
<td>{{emp.stDate}}</td>
<td>{{emp.enDate}}</td>
<td>{{calDate(emp.stDate,emp.endDate)}}</td>
</tr>
Других решений пока нет …