5

所以基本上我正在尝试使用addBusinessDays(new Date(), 3)which 设置开始日期而不考虑周末。但是,我也需要在其中使用日期列表(假期)。我找不到任何有关如何将这些假期添加到 addBusinessDays 的文档。

我正在使用 date-fns v2+

示例代码:

import { addBusinessDays } from 'date-fns';

const holidays = [
  '2019-12-20'
]

console.log(addBusinessDays(new Date(), 3)) // should include holidays => 2019-12-24
4

1 回答 1

-2

你也许可以做这样的事情?

const newHolidays = holidays.map(holiday => {
  return addBusinessDays(new Date(holiday), 3);
});

console.log(newHolidays);

newHolidays -这是一个包含每个日期 + 3 天的新数组(保持原样不变)

在此处阅读有关 .map 的信息

.map 为数组中的每个元素按顺序调用一次提供的回调函数,并根据结果构造一个新数组。

您可能还想使用评论中提到的 date-fns 来“解析”日期。你可以这样做:

function parseDates(dates) {
  return dates.map(date => {
    return parse(date, "yyyy-MM-dd", new Date());
  });
}

const parsedHolidays = parseDates(holidays);

然后你会想要改变'newHolidays'到类似这样:

const newHolidays = parsedHolidays.map(holiday => {
  return addBusinessDays(new Date(holiday), 3);
});

或者,如果您希望在使用 addBusinessDays 之前一一解析它们,您可以将 parse 函数移至holidays.map

于 2019-12-18T12:19:29.247 回答