angular - 过滤开始日期和结束日期在所选月份和年份范围内的所有对象

angular - filter all the objects that the startDate and EndDate is in range of month and year that was selected

本文关键字:日期 范围内 对象 结束 过滤 angular 开始      更新时间:2023-09-26

我想过滤并获取正在发送的月份和年份范围内的所有广告系列。例如开始日期 - 2/1/16结束日期 - 1/2/17年份 - 2016月 - 4我希望此广告系列在 2016 年 2 月至 2017 年 1 月的所有月份展示

app.filter('dateFilter', function () {
    return function (campaigns, year, month) {
        var filtered = [];
        if (!campaigns)
            return null;
        for (var i = 0; i < campaigns.length; i++) {
            var startDate = new Date(campaigns[i].startTime);
            var endDate = new Date(campaigns[i].endTime);
            if ( Validation )
                filtered.push(campaigns[i]);
        }
        return filtered;
    };
});

好的找到了答案,毕竟这很容易。我刚刚用空的日期值创建了开始日期和结束日期并检查了范围。

 for (var i = 0; i < campaigns.length; i++) {
            var startDate = new Date(campaigns[i].startTime);
            var endDate = new Date(campaigns[i].endTime);
            startDate = new Date(startDate.getFullYear(), startDate.getMonth());
            endDate = new Date(endDate.getFullYear(), endDate.getMonth());
            var dateCheck = new Date(year, month - 1);
            if (dateCheck >= startDate && dateCheck <= endDate)
                filtered.push(campaigns[i]);
        }