【问题标题】:Date filter issues to include selected from and to date日期过滤器问题,包括从和到日期选择
【发布时间】:2019-05-10 10:01:08
【问题描述】:

我有以下逻辑过滤两个日期之间的日期和时间。

 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 

如果我过滤 fromdate 2001-12-21 21:00 和 toDate 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

【问题讨论】:

  • 您还面临这个问题吗?
  • 是的..我还没有尝试过下面的代码..需要部署和测试,因为本地没有数据

标签: javascript angular typescript linq logic


【解决方案1】:

检查以下逻辑并告诉我

将日期转换为毫秒,并验证给定日期和起始日期、给定日期和截止日期之间的差异。

  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
          );

如果有帮助请告诉我

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 2011-10-20
    • 1970-01-01
    • 2013-09-30
    相关资源
    最近更新 更多