未来日期计算器

时间:2017-04-07 09:52:42

标签: javascript date

我有以下脚本,使用时,允许用户查看将来的日期,同时不包括周末。我遇到的问题是,如果当天是星期五,并且我将未来日期设置为3天,则将星期六和星期日计为工作日。我真的希望你们中的一个人能够提供帮助,因为我在Javascript上并不是那么出色。

正确的例子是:如果今天=星期五,那么从现在起3个工作日将是星期三(而不是星期一,因为剧本目前正在计算它)。

有什么想法吗?

          var myDelayInDays = 3; 
          myDate=new Date();
          myDate.setDate(myDate.getDate()+myDelayInDays);

          if(myDate.getDay() == 0){//Sunday
            myDate.setDate(myDate.getDate() + 2);//Tuesday
          } else if(myDate.getDay() == 6){//Saturday
            myDate.setDate(myDate.getDate() + 2);//Monday
          }

          document.write('' + myDate.toLocaleDateString('en-GB'));

任何帮助都会很棒。 感谢

1 个答案:

答案 0 :(得分:1)

通过更改要添加的日期和天数来尝试此代码,自定义循环用于跳过sat和sun



function addDates(startDate,noOfDaysToAdd){
  var count = 0;
  while(count < noOfDaysToAdd){
    endDate = new Date(startDate.setDate(startDate.getDate() + 1));
    if(endDate.getDay() != 0 && endDate.getDay() != 6){
       //Date.getDay() gives weekday starting from 0(Sunday) to 6(Saturday)
       count++;
    }
  }
  return startDate;
}


var today = new Date();
var daysToAdd = 3;
alert(addDates(today,daysToAdd));
&#13;
&#13;
&#13;