我如何计算一个月的工作小时数?

时间:2016-05-23 11:15:23

标签: javascript asp.net html5

我正在尝试计算一个月内在我的网站上显示的工作时数。我已经设法弄清楚如何让时间显示,但考虑到几个月有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);

2 个答案:

答案 0 :(得分:0)

查看this链接。这给你一周一个月只计算工作日,我认为这个国家不同。和澳大利亚一样,我们在一周内有5个工作日,你可以按工作时间增加它。

答案 1 :(得分:0)

由于您的功能已经为您提供营业日计数,您只需要将其与工作时数相乘即可。

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;
}

考虑到这个功能正在返回你正确的日期。你能做的只是乘以你所在国家的小时数。

如果需要其他任何东西。请评论我会尽力帮助你。