未来日期计算器

问题描述:

我有以下脚本,使用时允许用户查看未来日期,但不包括周末。但我遇到的问题是,如果当天是星期五,我将未来日期设置为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')); 

任何帮助真的很棒。 由于

+0

检查如果myDate.getDay()== 5然后添加2 + (你想要延长的那一天)2跳过星期六和星期日 –

+0

你应该用毫秒工作,或者你可以使用一个图书馆作为moment.js –

+0

@VinodLouis我认为这只会在未来的日期LANDs在星期五工作。我需要它在继续之前将星期五计算为星期五(如果有意义的话)。例如:今天是星期五,星期三应该显示+ 3天(不是星期一)。 –

尝试通过改变日期和天添加此代码,自定义循环用于跳过饱和和太阳

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

+0

这是完美的!除此之外,有没有办法让结果显示为:dd/mm/yyyy? (en-GB) –

+0

有很多方法可以做到这一点缝http://*.com/questions/13459866/javascript-change-date-into-format-of-dd-mm-yyyy –

+0

我真的不是擅于此:(我不知道如何 –