如何计算一个月的工作时间?
问题描述:
我想计算一个月内在我的网站上显示的工作时间数。我已经设法弄清楚如何让日子显示,但考虑到一些月份有31,30和28/29天,它只是获得不同月份的时间。如何计算一个月的工作时间?
function getBusinessDatesCount(startDate, endDate) {
var count = 0;
var curDate = startDate;
while (curDate <= endDate) {
var dayOfWeek = curDate.getDay();
if(!((dayOfWeek == 6) || (dayOfWeek == 0)))
count++;
curDate.setDate(curDate.getDate() + 1);
}
return count;
}
用法:
var startDate = new Date('7/01/2015');
var endDate = new Date('7/31/2015');
var numOfDates = getBusinessDatesCount(startDate,endDate);
$('div#result').text(numOfDates);
答
由于你的功能已经给你的工作日计数,你只需要乘以工作小时数。
function getBusinessDatesCount(startDate, endDate) {
var count = 0;
var curDate = startDate;
while (curDate <= endDate) {
var dayOfWeek = curDate.getDay();
if(!((dayOfWeek == 6) || (dayOfWeek == 0)))
count++;
curDate.setDate(curDate.getDate() + 1);
}
return count;
}
考虑到这个函数返回正确的天数。你可以做的只是乘以你的国家的小时数。
如果还有其他东西需要。请评论我会尽力帮助你。
如果您想要精确计算工作时间,则需要考虑假期。除此之外,上述代码中所需的全部内容是将工作日数乘以一天中工作的小时数(如果这也是可变的,那么您也必须计算每天的工作日数) – dinotom
这并不直接回答您的问题的问题,但可能还是值得看一下https://date-fns.org库,看看这个问题已经解决了多少。 –