首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在两个日期范围内过滤掉数据

如何在两个日期范围内过滤掉数据
EN

Stack Overflow用户
提问于 2021-06-22 21:19:43
回答 1查看 47关注 0票数 0

你好,我试着过滤掉不介于两个给定日期之间的数据

我现在有这样的承诺

代码语言:javascript
复制
 const p = await new Promise((resolve: any, reject: any) => {
    rpCacheWrapper(options)
      .then((res: any) => {
        const date = _.uniq(_.map(res, 'Activity Id'));
        date.filter((each: any) => {
          const timeCompareStartDate = moment(
            each['Start Date '] || ''
          ).isBetween(req.query.start as string, req.query.end as string);
          const timeCompareEndDate = moment(
            each['End Date'] || ''
          ).isBetween(req.query.start as string, req.query.end as string);
          return timeCompareStartDate && timeCompareEndDate;
        });
        resolve(date);
      })
      .catch(reject);
  });

过滤器是不正确的,我试图找出筛选出不在这两个查询req.query.end和start之间的日期的简单方法

数据集的这个示例

代码语言:javascript
复制
{
  Value: [
    {
      "Activity Id": "05005413-05",
      "Activity Name": "UNIT 1  ASBESTOS REMOVAL; PERMITS (CSP, FSI, HWP)",
      "Start Date ": "2020-11-09 07:00:00.0",
      "End Date": "2021-05-17 15:00:00.0",
      "Work Group Name": "PSCF",
      "Unit ": "01",
      Status: "READY",
      "Work Pln Factor": ", ",
    },
    {
      "Activity Id": "B2121",
      "Activity Name": "Begin Work Week 2121",
      "Start Date ": "2021-05-24 00:00:00.0",
      "End Date": "2021-05-24 00:00:00.0",
      "Work Pln Factor": ", ",
    },
    {
      "Activity Id": "05005413-35",
      "Activity Name": "SCAFFOLD SUPPORT TEAM - CARPENTERS & LABORERS",
      "Start Date ": "2020-11-09 06:00:00.0",
      "End Date": "2021-06-03 16:00:00.0",
      "Work Group Name": "PSCF",
      "Unit ": "01",
      Status: "READY",
      "Work Pln Factor": ", ",
    },
    {
      "Activity Id": "04912309-35",
      "Activity Name": "SCAFFOLD SUPPORT TEAM - CARPENTERS & LABORERS",
      "Start Date ": "2020-11-09 06:00:00.0",
      "End Date": "2021-06-30 16:00:00.0",
      "Work Group Name": "PSCF",
      "Unit ": "01",
      Status: "READY",
      "Work Pln Factor": ", ",
    },
  ];
}

因此,如果启动时间为21-6月-2021结束=17-5月-2021,则应从数组中筛选出以下内容

代码语言:javascript
复制
   {
      "Activity Id": "B2121",
      "Activity Name": "Begin Work Week 2121",
      "Start Date ": "2021-05-24 00:00:00.0",
      "End Date": "2021-05-24 00:00:00.0",
      "Work Pln Factor": ", ",
    },
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-22 21:42:17

原始数据源需要进行一些清理,我不确定“开始日期”(在末尾有空格)是否是一个错误。我就是这样对待它的。设置此筛选器的方式是排除范围内的项。干杯

代码语言:javascript
复制
const data = {
  Value: [{
      "Activity Id": "05005413-05",
      "Activity Name": "UNIT 1  ASBESTOS REMOVAL; PERMITS (CSP, FSI, HWP)",
      "Start Date": "2020-11-09 07:00:00.0",
      "End Date": "2021-05-17 15:00:00.0",
      "Work Group Name": "PSCF",
      "Unit ": "01",
      "Status": "READY",
      "Work Pln Factor": ", ",
    },
    {
      "Activity Id": "B2121",
      "Activity Name": "Begin Work Week 2121",
      "Start Date": "2021-05-24 00:00:00.0",
      "End Date": "2021-05-24 00:00:00.0",
      "Work Pln Factor": ", ",
    },
    {
      "Activity Id": "05005413-35",
      "Activity Name": "SCAFFOLD SUPPORT TEAM - CARPENTERS & LABORERS",
      "Start Date": "2020-11-09 06:00:00.0",
      "End Date": "2021-06-03 16:00:00.0",
      "Work Group Name": "PSCF",
      "Unit ": "01",
      "Status": "READY",
      "Work Pln Factor": ", "
    },
    {
      "Activity Id": "04912309-35",
      "Activity Name": "SCAFFOLD SUPPORT TEAM - CARPENTERS & LABORERS",
      "Start Date": "2020-11-09 06:00:00.0",
      "End Date": "2021-06-30 16:00:00.0",
      "Work Group Name": "PSCF",
      "Unit ": "01",
      "Status": "READY",
      "Work Pln Factor": ", "
    }
  ]
}

const range = ["2021-05-17", "2021-06-21"];
const filtered = data.Value.filter(e => !(new Date(e["Start Date"]) >= new Date(range[0]) && new Date(e["End Date"]) <= new Date(range[1])));

console.log(filtered);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68090828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档