javascript - date-fns addBusinessdays 但包括预定义的假期日期

标签 javascript date date-fns

所以基本上我正在尝试使用 addBusinessDays(new Date(), 3)它设置了一个开始日期而不考虑周末。但是,我也需要在其中使用日期列表(假期)。我找不到任何有关如何将这些假期添加到 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

最佳答案

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

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

console.log(newHolidays);

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

Read about .map here

.map calls a provided callback function once for each element in an array, in order, and constructs a new array from the results.



您可能还想使用评论中提到的 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

关于javascript - date-fns addBusinessdays 但包括预定义的假期日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59391809/

相关文章:

java - 字符串中的 OffsetDateTime Z

java - 如何使用 Java 获取输入的日期字符串即将到来的特定工作日

sql - 如何比较两个日期以查找 SQL Server 2005 中的时间差,日期操作

javascript - 如何用 date-fns 格式化日期?

typescript - 为什么 Ant Design 在尝试使用 date-fns 时会抛出服务器错误?

javascript - date-fns isSameWeek 未按预期工作

javascript - 带有 Meteor 显示数据到模板的 Iron 路由器

javascript - 突出显示表行

javascript - 递归过多的原因是什么?

Javascript 函数适用于除文本区域、文本框之外的所有页面