gpt4 book ai didi

javascript - Angular JS 简单日期比较器

转载 作者:行者123 更新时间:2023-11-28 07:19:20 24 4
gpt4 key购买 nike

我正在尝试使用 AngularJS 实现一个简单的日期比较器。基本上,我将有一个带有 dateStart 和 dateExpire 字段的优惠券列表。我希望通过将用户输入的 searchStartDate 和 searchExpireDate 与优惠券本身的 dateStart 和 dateExpire 进行比较来过滤此列表。我现在在 Controller 中拥有的是:

    $scope.startDateFilter = function (coupon) {

var filteredList = [];
var searchStartDay = new Date().getDate();
var searchStartMonth = new Date().getMonth();
var searchStartYear = new Date().getYear();
var startDate = new Date(coupon.dateStart).getDate();
var startMonth = new Date(coupon.dateStart).getMonth();
var startYear = new Date(coupon.dateStart).getYear();

if (searchStartDay <= startDate && searchStartMonth <= startMonth && searchStartYear <= startYear)
filteredList.push(coupon);

if (searchStartMonth < startMonth && searchStartYear <= startYear)
filteredList.push(coupon);

if (searchStartYear < startYear)
filteredList.push(coupon);

return filteredList;
}

此 block 是我的自定义过滤器,用于将 startDate 与用户输入的 searchStartDate 进行比较。但是,这对我不起作用。

我的观点是:

 <tbody data-ng-repeat="coupon in activeList = (couponList | filter: {name: searchParent} | filter: startDateFilter) " data-ng-switch on="couponCollapse[$index]">

有谁知道为什么我可能会在这里遇到问题?

最佳答案

您可以使用纯日期比较,因为您已经有一个有效的日期对象。试试这个。

$scope.startDateFilter = function (coupon) {

var filteredList = [];
var searchStartDate = new Date();
var startDate = new Date(coupon.dateStart);

if (searchStartDate < startDate)
filteredList.push(coupon);

return filteredList;
}

关于javascript - Angular JS 简单日期比较器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30484559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com