未来日期计算器
我有以下脚本,使用时允许用户查看未来日期,但不包括周末。但我遇到的问题是,如果当天是星期五,我将未来日期设置为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'));
任何帮助真的很棒。 由于
尝试通过改变日期和天添加此代码,自定义循环用于跳过饱和和太阳
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));
这是完美的!除此之外,有没有办法让结果显示为:dd/mm/yyyy? (en-GB) –
有很多方法可以做到这一点缝http://*.com/questions/13459866/javascript-change-date-into-format-of-dd-mm-yyyy –
我真的不是擅于此:(我不知道如何 –
检查如果myDate.getDay()== 5然后添加2 + (你想要延长的那一天)2跳过星期六和星期日 –
你应该用毫秒工作,或者你可以使用一个图书馆作为moment.js –
@VinodLouis我认为这只会在未来的日期LANDs在星期五工作。我需要它在继续之前将星期五计算为星期五(如果有意义的话)。例如:今天是星期五,星期三应该显示+ 3天(不是星期一)。 –