【问题标题】:Subtraction of Date in angularjsangularjs中日期的减法
【发布时间】:2017-12-03 18:27:03
【问题描述】:

我想减去从数据库中获取的 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>

【问题讨论】:

    标签: php mysql angularjs date subtraction


    【解决方案1】:

    您只需要编写一个控制器函数,它会执行所有计算并返回结果。

    $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>
    

    【讨论】:

    • 显示“TypeError: date2.getTime is not a function”这个错误
    • 应该是 var timeDiff = Math.abs(dateOut2.getTime() - dateOut1.getTime());
    • 我还有一个疑问,我想从结束日期中减去当前日期,我该怎么做?
    • 只做 var timeDiff = Math.abs(dateOut2.getTime() - new Date().getTime());
    • 我应该如何在 ng repeat 中写新的日期?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 2021-01-17
    相关资源
    最近更新 更多