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