写一个 js 函数计算两个时间段内排除掉节假日剩下的时间
时间: 2023-02-06 07:40:23 浏览: 60
计算工作时间函数(自动剔除非工作时间).txt
首先,我们需要引入一些库来帮助我们处理时间和节假日。 你可以使用 `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;
}
```
你可以这样使用这个函数:
```
const startDate = '2022-01-01';
const endDate = '2022-01-31';
const workingDays = calculateWorkingDays(startDate, endDate);
console.log(workingDays); // 输出 21(2022年1月有21个工作日)
```
希望这对你有帮助!
阅读全文