js 计算两个yyyy:MM:hh日期的差,以时H显示,扣除法定节假日和周末
时间: 2024-05-04 15:16:23 浏览: 77
可以使用moment.js库来计算两个日期之间的差,并且排除法定节假日和周末。以下是一个示例代码:
```javascript
const moment = require('moment-business-days');
const startDate = moment('2022-01-01', 'YYYY-MM-DD');
const endDate = moment('2022-01-08', 'YYYY-MM-DD');
const diffInHours = moment.duration(endDate.diff(startDate)).asHours();
const diffInBusinessHours = moment.duration(endDate.businessDiff(startDate)).asHours();
console.log(`Difference in hours (including holidays and weekends): ${diffInHours}`);
console.log(`Difference in business hours (excluding holidays and weekends): ${diffInBusinessHours}`);
```
在上面的代码中,我们首先引用了moment-business-days库来从日期范围中排除法定节假日和周末。然后,我们定义了起始日期(`startDate`)和结束日期(`endDate`),并通过`moment.duration()`函数计算了它们之间的差异。最后,我们使用`businessDiff()`函数计算了排除法定节假日和周末之后的差异,并使用`asHours()`函数将结果转换为小时。
阅读全文