首先,我们需要引入一些库来帮助我们处理时间和节假日。 你可以使用 moment.js
来处理日期,并且可以使用 holidays.js
来获取节假日信息。
假设你已经安装并引入了这两个库,下面是一个简单的函数,可以计算两个时间段内排除掉节假日剩下的时间:
function calculateWorkingDays(startDate, endDate) {
// 将日期字符串转换为 Moment 对象
startDate = moment(startDate);
endDate = moment(endDate);
// 计算两个日期之间的天数
const totalDays = endDate.diff(startDate, 'days') + 1;
// 循环遍历这两个日期之间的每一天
let workingDays = 0;
for (let i = 0; i < totalDays; i++) {
const currentDate = startDate.clone().add(i, 'days');
// 判断当前日期是否是节假日
if (!holidays.isHoliday(currentDate)) {
workingDays++;
}
}
return workingDays;
}