如何在 JavaScript 中计算上周的工资



我正在尝试计算上周员工的工资。这意味着本周不应该包括在计算中。现在我从当前日期开始有 -7 来检查我的数据。这是我的代码

var currentDate = new Date();
log.info(currentDate)
var requiredDate=new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate()-7)
var start=Date.parse(requiredDate)
var end=Date.parse(currentDate);
query="taskCreateTimestamp:["+start+" TO "+end+"]";

我的目标是计算周一到周五之间的上周工资。我只用了 -7 来检查我的数据。请帮我<</p>

div class="one_answers">

检查此链接,您可以获得上周的开始日期和结束日期。并将时间戳"00:00:00"附加到开始日期,并将"23:59:59"附加到结束日期(如果数据具有时间戳)。

在 JavaScript 中获取上周

"(工资/(每月工作日))*(上周的工作日)"上行应该是您计算上周工资的公式。因此,您需要一种计算给定日期间隔的工作日的方法。

function getWorkingDays(startDate, endDate){
    var totalWorkingDays= 0;
    var currentDate = startDate;
    while (currentDate <= endDate)  {
        var weekDay = currentDate.getDay();
        if(weekDay != 0 && weekDay != 6) {
            totalWorkingDays++;
        }
        currentDate.setDate(currentDate.getDate()+1); 
    }
    return totalWorkingDays;
}

然后,给出日期并应用公式。

我在Jaggeryjs中使用了以下代码,并且对我来说工作正常。我还没有测试,但得到了预期的结果。

 var currentDate = new Date();
    var requiredDate;
    log.info(currentDate)
    var set=currentDate.setHours(0)
    if(currentDate.getDay() == 1)
    {
     requiredDate=new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate()-7)
    }
    else if(currentDate.getDay() == 2)
    {
     requiredDate=new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate()-8)
    }
    else if(currentDate.getDay() == 3)
    {
     requiredDate=new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate()-9)
    }
    else if(currentDate.getDay() == 4)
    {
     requiredDate=new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate()-10)
    }
    else if(currentDate.getDay() == 5)
    {
     requiredDate=new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate()-4)
    }
    else if(currentDate.getDay() == 6)
    {
     requiredDate=new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate()-5)
    }
    else if(currentDate.getDay() == 7)
    {
     requiredDate=new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate()-6)
    }
    var start=Date.parse(requiredDate)
    log.info("Start-Date["+start+"]")         
    log.info("End----------------------------------------------")
    var currentDate = new Date();
    log.info(currentDate)       
    var end;
    if(currentDate.getDay() == 7)
    {
     end=new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate()-2)
    }
    else if(currentDate.getDay() == 6)
    {
     end=new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate()-1)
    }
    else if(currentDate.getDay() == 5)
    {
     end=Date.parse(currentDate)
     log.info("End Date ["+end+"]")
    }
    else if(currentDate.getDay() == 4)
    {
     end=new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate()-6)
    }
    else if(currentDate.getDay() == 3)
    {
     end=new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate()-5)
    }
    else if(currentDate.getDay() == 2)
    {
     end=new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate()-4)
    }
    else if(currentDate.getDay() == 1)
    {
     end=new Date(currentDate.getFullYear(),currentDate.getMonth(),currentDate.getDate()-3)
    }

    end=Date.parse(currentDate);
    log.info("End-Date["+end+"]")         
    query="taskCreateTimestamp:["+start+" TO "+end+"]";

相关内容

  • 没有找到相关文章

最新更新