我有以下逻辑可以过滤两个日期之间的日期和时间。
this.downloadData = this.downloadData.filter(
m => new Date(m.LogTime) >= new Date(localStorage.getItem('fromDate')) && new Date(m.LogTime) <= new Date(localStorage.getItem('toDate'))
);
但是它将过滤所选日期和日期,它将过滤日期的第二天和日期的前一天。
我希望在结果中也包括从日期到日期的选择。我该如何更改逻辑?
Eg:
DateTime array
2001-12-21 21:00
2001-12-22 21:00
2001-12-23 21:00
2001-12-24 21:00
2001-12-25 21:00
如果我从2001年12月21日21:00到2001年12月25日21:00进行过滤
Current result
2001-12-21 21:00
2001-12-22 21:00
2001-12-23 21:00
2001-12-24 21:00
2001-12-25 21:00
Expected result
2001-12-22 21:00
2001-12-23 21:00
2001-12-24 21:00
答案 0 :(得分:0)
检查以下逻辑,让我知道
将日期转换为毫秒,并验证给定日期与起始日期,给定日期与起始日期之间的差异。
var fromDate = Date.parse(localStorage.fromDate); // parse to date object
var toDate = Date.parse(localStorage.toDate);
this.downloadData = this.downloadData.filter(
m => fromDate-Date.parse(m.LogTime)<=0 && Date.parse(m.LogTime)-toDate<=0
);
让我知道它是否有帮助