比较Angular JS中的日期

时间:2016-01-30 18:55:58

标签: javascript angularjs date

我想检查广告系列目前是否有效。日期deal.Campaign.startdeal.Campaign.end是我后端的字符串,now是日期对象。如何将字符串转换为HTML文件中的日期对象?

理想情况下,我会在控制器中创建日期对象,但这不起作用,因为我循环遍历HTML文件中的对象。

controller.js:

$scope.now = new Date();

HTML:

<span ng-repeat="deal in deals"> 
    <span ng-show="deal.Campaign.start < now && deal.Campaign.end > now">
        <span>Active</span>
    </span>
</span>

1 个答案:

答案 0 :(得分:1)

我解决此问题的方法是将所有Date转换为ms字符串:

$scope.now = new Date().getTime();

与您的其他日期相同:

$scope.deal.Campaign.start = Date.parse($scope.deal.Campaign.start);

这样你只需比较数字。

考虑ng-repeat,这仍然可行,但通过一个函数:

$scope.formDate = function(date) {
  return new Date(date).getTime();
}

在你的HTML中:

<span ng-show="formDate(deal.Campaign.start) < now && formDate(deal.campaign.end) > now">