代码之家  ›  专栏  ›  技术社区  ›  Jonathan Souza

使用筛选器返回日期

  •  0
  • Jonathan Souza  · 技术社区  · 4 年前

    我试图使用过滤器和子天从“date-fns”中获取一个新的数组,以获取1、7和30天之前的日期,但我不知道这个逻辑到底出了什么问题,有人可以帮助我吗?

    const handleLoadByDate = useCallback(
        (option: number) => {
          const filtering = favorites?.filter((date: FormattedFavorites) => {
            if (option === 1) {
              return (
                new Date(date.created_at).getTime() >=
                subDays(new Date(date.created_at), 1).getTime()
              );
            }
            if (option === 7) {
              return (
                new Date(date.created_at).getTime() >=
                subDays(new Date(date.created_at), 7).getTime()
              );
            }
            return (
              new Date(date.created_at).getTime() >=
              subDays(new Date(date.created_at), 30).getTime()
            );
          });
          return filtering;
        },
        [favorites],
      );
    
    1 回复  |  直到 4 年前
        1
  •  0
  •   Zachary Haber    4 年前

    一个数字总是大于这个数字减1。所以,当你从日期中减去天数时,你只是让条件总是返回真。

    您需要一个不同的值才能进行实际比较。从你写的东西来看,我不能肯定它应该是什么。也许只是 subDays(new Date(),x).getTime() 如果你想在x天内完成?