使用过滤器返回日期

问题描述 投票:0回答:1

我正在尝试使用过滤器和“ 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],
  );
reactjs typescript date-formatting
1个回答
0
投票

数字始终大于该数字减去1。因此,当您从日期中减去天数时,您只是使条件始终返回true。

您需要一个不同的值才能进行实际比较。从您写的内容来看,我无法确定它应该是什么。如果您希望它从现在起x天之内,也许只是subDays(new Date(),x).getTime()

© www.soinside.com 2019 - 2024. All rights reserved.