【问题标题】:Create days array from Today till seven days ago with date-fns使用 date-fns 创建从今天到 7 天前的天数数组
【发布时间】:2022-01-17 18:09:27
【问题描述】:

在我的 React 组件中,我必须渲染一个日期列表:来自Today - seven days ago

点赞:Today / Yesterday / Monday / Tuesday / Wednesday / Thursday / Friday

我正在使用date-fns

  const generateDays = () => {
    const date: Date = new Date();
    const a = subDays(date, 4);
    const formatted = format(a, 'eeee', { locale: nl });

    return formatted;
  };

我如何才能顺利完成这项工作?

我尝试了什么:

  const today = new Date();
  const sevenDaysAgo = subDays(today, 6);

  const sevenDays = eachDayOfInterval({ start: sevenDaysAgo, end: today });

  sevenDays.forEach((day) => {
    console.log(format(day, 'eeee', { locale: nl }));
  });

这会返回:

['Wednesday', 'Tuesday', 'Monday', 'Sunday', 'Saturday', 'Friday', 'Thursday']

【问题讨论】:

  • 目前还不清楚您实际上想要完成什么。是的,可以过滤查询结果。但是查询是什么,它会给你什么结果?你想如何过滤它?
  • 我现在可以使用例如dayOffset: 3 进行查询和过滤。这将在 3 天前过滤我的结果,即“星期六”。但是明天dayOffset: 3 将是“星期一”。在用户界面中,我有星期一、星期二等按钮。你明白这个问题了吗?
  • 是的,我想是的。您想要当前日期和例如之间的差异下个星期六。您应该可以为此使用getDaydeveloper.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

标签: javascript date-fns


【解决方案1】:

要从 dayOffset 获取工作日(如果您不是美国人,请将“en-us”替换为您所在国家/地区的代码),您可以执行以下操作。

const offset_date = new Date();

offset_date.setDate(offset_date.getDate() + dayOffset);

const week_day = offset_date.toLocaleString('en-us', {weekday: 'long'});

【讨论】:

  • 抱歉,我稍微调整了一下我的问题。我必须分步进行。这是第一部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
  • 1970-01-01
相关资源
最近更新 更多