简介
在这个实验中,我们将探索一个 JavaScript 程序,该程序用于计算两个给定日期之间的工作日数量。该程序使用数组和 reduce 方法遍历给定的日期范围,检查每个日期是否为工作日,并相应地增加计数。但是,需要注意的是,这个程序没有考虑法定节假日。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
在这个实验中,我们将探索一个 JavaScript 程序,该程序用于计算两个给定日期之间的工作日数量。该程序使用数组和 reduce 方法遍历给定的日期范围,检查每个日期是否为工作日,并相应地增加计数。但是,需要注意的是,这个程序没有考虑法定节假日。
要计算两个日期之间的工作日,请执行以下步骤:
node
以开始练习编码。Array.from()
创建一个长度等于startDate
和endDate
之间天数的数组。Array.prototype.reduce()
遍历数组,检查每个日期是否为工作日,并增加count
。Date.prototype.getDate()
和Date.prototype.setDate()
将startDate
更新为下一天,使其前进一天。以下是实现此功能的代码:
const countWeekDaysBetween = (startDate, endDate) =>
Array.from({ length: (endDate - startDate) / (1000 * 3600 * 24) }).reduce(
(count) => {
if (startDate.getDay() % 6 !== 0) count++;
startDate = new Date(startDate.setDate(startDate.getDate() + 1));
return count;
},
0
);
你可以使用以下代码测试该函数:
countWeekDaysBetween(new Date("Oct 05, 2020"), new Date("Oct 06, 2020")); // 1
countWeekDaysBetween(new Date("Oct 05, 2020"), new Date("Oct 14, 2020")); // 7
恭喜你!你已经完成了“计算两个日期之间的工作日”实验。你可以在 LabEx 中练习更多实验来提升你的技能。