检查是否过了3天。 AngularJS

时间:2016-05-12 18:13:13

标签: html angularjs

使用AngularJS我想比较日期是否超过今天的3天:

控制器:

 $scope.todayDate = new Date();
来自json对象的

dateHire,如dateHire“:”2016-02-08T00:00:00“

html:

<tr ng-repeat ="emp in Employees">
     <td>
          <span class="label label-danger" ng-class="{'label-danger': (((todayDate | date:'d M') - (emp.dateHire | date: 'd M')) > 3)}"> {{emp.name}}</span>
         </td>
</tr>

然而,它不起作用。我究竟做错了什么。

2 个答案:

答案 0 :(得分:1)

创建过滤器:

move_uploaded_file($_FILES["Filedata"]["tmp_name"], $directory . $file);

然后在你的ng-class对象中使用它:

app.filter('unixDate',function(){
  return function(date) {  
    return new Date(date).getTime();
  }
});

答案 1 :(得分:1)

您不应该将JS逻辑添加到视图中。您正尝试将过滤器应用于您的日期:emp.dateHire | date: 'd M',这会生成一个字符串,然后您尝试减去两个字符串。您最终会执行'12 May' - '10 May'之类的操作,其结果为NaN

您需要向接受员工对象的控制器或作用域添加一个函数,然后将employee.dateHire值解析为Date对象,最后返回将该日期与当前日期进行比较的结果。

如下所示:

this.hireDateGreaterThanDays = function(emp, days) {
    var now = new Date();

    var dateHire = /* create a new date from the emp.dateHire attribute */

    /**
     * Compare date values here. Can use a library like MomentJS or
     * plain JS Date objects as pointed out in other answers and comments.
     */
    return (now - dateHire) > 3;
};