这将在几秒钟内获得当前时间:
let currentTimeInSeconds = new Date().getTime() / 1000;
我有一个对象expirationDate
的数组,它在几秒钟内返回该信息。我可以得到过期的账单,但是,我想过滤掉今天到期的账单。
this.ExpiringTodayBills = this.UnpaidDuebills.filter(bills => bills.paid === false && bills.expirationDate = currentTimeInSeconds);
上述代码不起作用,因为当前时间由于小时,分钟,秒和毫秒而不断变化。
如果expirationDate =今天,无论何时,我如何比较?
编辑:这是一个账单的例子
名称:测试账单
付出:虚假
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
你应该遍历你的数据并将你的expirationDate
从currentTimeInSeconds
转换为date
。图书馆moment.js
可能会有所帮助。接下来,您可以:
this.ExpiringTodayBills = this.UnpaidDuebills.filter(bills => bills.paid === false && bills.expirationDate = today);
const today = moment().format('MM/DD/YYYY');
console.log(today);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script>