gpt4 book ai didi

javascript - Angular 2 - 比较数组过滤器中的日期

转载 作者:行者123 更新时间:2023-12-01 01:43:33 25 4
gpt4 key购买 nike

这将以秒为单位获取当前时间:

let currentTimeInSeconds = new Date().getTime() / 1000;

我有一个包含对象 expirationDate 的数组,它以秒为单位返回该信息。我可以获得过期的账单,但是,我想过滤掉今天过期的账单。

this.ExpiringTodayBills = this.UnpaidDuebills.filter(bills => bills.paid === false && bills.expirationDate = currentTimeInSeconds);

上面的代码不起作用,因为当前时间由于小时、分钟、秒和毫秒而不断变化。

无论什么时间,如果expirationDate = 今天,我如何能够进行比较?

编辑:这是账单示例

名称:测试账单

付费:

到期日期: 1535598000(即 2018 年 8 月 30 日凌晨 3:00:00)

金额:231.33

最佳答案

这个怎么样?

isExpiringToday(expirationDate) {
const start = new Date();
start.setHours(0, 0, 0, 0);

const end = new Date();
end.setHours(23, 59, 59, 999);

const expiryDateTimeStamp = expirationDate * 1000;

return (expiryDateTimeStamp > start && expiryDateTimeStamp < end);
}

this.ExpiringTodayBills = this.UnpaidDuebills
.filter(bills => !bills.paid && this.isExpiringToday(bills.expirationDate));

您可以通过打开浏览器开发工具、转到控制台并执行以下操作来对此进行测试:

function isToday(expiryDateTimeStamp) {
const start = new Date();
start.setHours(0, 0, 0, 0);

const end = new Date();
end.setHours(23, 59, 59, 999);

return (expiryDateTimeStamp > start && expiryDateTimeStamp < end);
}

var newDate = new Date();
isToday(newDate.getTime()) // true

关于javascript - Angular 2 - 比较数组过滤器中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52155548/

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