日期之间的JavaScript过滤以获取特定日期范围内的记录

reactFullStackDeveloper

我正在进行一个API调用,该调用返回了大量数据。从这些数据中,我想过滤掉并仅获取到期日大于或等于今天且小于或等于30天的记录。

但是我的过滤器返回的记录不正确。

addDays = (date, days) => {
        var result = new Date(date);
        result.setDate(result.getDate() + days);
        return result;
    }

let today = new Intl.DateTimeFormat('en-US').format(new Date()); //returns "07/31/2020" as expected
let add30 = new Intl.DateTimeFormat('en-US').format(this.addDays(today, 30)); //returns "08/30/2020 as expected

let dueInThirtyDays = allActivities.filter(activity => new Intl.DateTimeFormat('en-US').format(new Date(activity.dueDate)) >= today && new Intl.DateTimeFormat('en-US').format(new Date(activity.dueDate)) <= add30 && new Intl.DateTimeFormat('en-US').format(new Date(activity.closedDate) === null));


//where format of activity.dueDate = "2020-01-14" which is whay its wrapped in the DateTimeFormat method

我正在过滤的对象数组示例:

{
typeCode: "BCA "
categoryCode: "PN "
activityDescription: "PNACT03 TIER2 PRIMARY"
effectiveDate: "2010-10-14"
statusDate(pin): null
closedDate(pin): "2012-06-30"
dueDate(pin): "2011-01-14"
}

我注意到格式字符串返回的日期早于给定日期的一天,但我得到的结果是距今天数月前的广告年以及距今天30天之后的好几个月。它还返回结果,其中closedDate不为null

克里斯托夫·科恩

您的问题出在用于比较的日期格式之内。

让我们以这两个日期为例:

  1. “ 2020年10月31日”
  2. “ 2019/11/30”

人们可以看到2020年的日期不小于2019年的日期,但如果进行比较,则可以:

if ("10/31/2020" <= "11/30/2019")

与写作相同:

if ("10312020" <= "11302019")

您可以在浏览器控制台中输入以下内容进行尝试

console.log("10/31/2020" <= "11/30/2019");

如果要与字符串进行比较,则可能应使用unix时间戳进行日期比较,或使用y / m / d格式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用JavaScript获取日期范围内的特定日期

来自分类Dev

获取特定日期范围内的结果

来自分类Dev

无法获取在特定日期范围内创建的工件

来自分类Dev

使用两个特定日期范围内的最大记录过滤SQL表

来自分类Dev

选择日期范围内的特定日期

来自分类Dev

在JavaScript中获取给定日期范围内的所有日期的列表

来自分类Dev

两个相关表之间的SQL SELECT数据不在特定日期范围内

来自分类Dev

两个相关表之间的SQL SELECT数据不在特定日期范围内

来自分类Dev

如何检索特定日期范围内的数据?

来自分类Dev

在特定日期范围内合并Pandas DataFrame

来自分类Dev

Laravel查询:在特定日期范围内获取所有未预订的车辆

来自分类Dev

获取特定日期范围内每个月的行数

来自分类Dev

获取特定日期范围内熊猫的平均值

来自分类Dev

TFS API 获取特定日期范围内的测试结果

来自分类Dev

子查询返回了多个值-使用特定日期的值更新日期范围内的记录

来自分类Dev

SQL查询,用于查找某个日期范围内某个特定日期存在的所有记录

来自分类Dev

从由日期行组成的表中,如何计算日期在特定日期范围内的行数

来自分类Dev

验证我的节点的开始日期或结束日期是否在特定日期范围内

来自分类Dev

获取给定日期范围内的月份的开始日期和结束日期

来自分类Dev

过滤或检查日期范围内的日期

来自分类Dev

大熊猫-在特定日期范围内划分日期范围

来自分类Dev

使用基于集合的方法获取给定日期范围之间的特定日期

来自分类Dev

获取录入日期在一定范围内的记录

来自分类Dev

获取录入日期在一定范围内的记录

来自分类Dev

Java:检查当前日期是否在特定日期范围内

来自分类Dev

Spark SQL-如何对链接到特定日期的日期范围内的值求和

来自分类Dev

如何计算日期范围内的特定日期和时间

来自分类Dev

Java:检查当前日期是否在特定日期范围内

来自分类Dev

使用文件名日期的特定日期范围内的Linux tar文件

Related 相关文章

  1. 1

    使用JavaScript获取日期范围内的特定日期

  2. 2

    获取特定日期范围内的结果

  3. 3

    无法获取在特定日期范围内创建的工件

  4. 4

    使用两个特定日期范围内的最大记录过滤SQL表

  5. 5

    选择日期范围内的特定日期

  6. 6

    在JavaScript中获取给定日期范围内的所有日期的列表

  7. 7

    两个相关表之间的SQL SELECT数据不在特定日期范围内

  8. 8

    两个相关表之间的SQL SELECT数据不在特定日期范围内

  9. 9

    如何检索特定日期范围内的数据?

  10. 10

    在特定日期范围内合并Pandas DataFrame

  11. 11

    Laravel查询:在特定日期范围内获取所有未预订的车辆

  12. 12

    获取特定日期范围内每个月的行数

  13. 13

    获取特定日期范围内熊猫的平均值

  14. 14

    TFS API 获取特定日期范围内的测试结果

  15. 15

    子查询返回了多个值-使用特定日期的值更新日期范围内的记录

  16. 16

    SQL查询,用于查找某个日期范围内某个特定日期存在的所有记录

  17. 17

    从由日期行组成的表中,如何计算日期在特定日期范围内的行数

  18. 18

    验证我的节点的开始日期或结束日期是否在特定日期范围内

  19. 19

    获取给定日期范围内的月份的开始日期和结束日期

  20. 20

    过滤或检查日期范围内的日期

  21. 21

    大熊猫-在特定日期范围内划分日期范围

  22. 22

    使用基于集合的方法获取给定日期范围之间的特定日期

  23. 23

    获取录入日期在一定范围内的记录

  24. 24

    获取录入日期在一定范围内的记录

  25. 25

    Java:检查当前日期是否在特定日期范围内

  26. 26

    Spark SQL-如何对链接到特定日期的日期范围内的值求和

  27. 27

    如何计算日期范围内的特定日期和时间

  28. 28

    Java:检查当前日期是否在特定日期范围内

  29. 29

    使用文件名日期的特定日期范围内的Linux tar文件

热门标签

归档