我有一个4个下拉菜单由日期填充,例如减去天
["23rd December 2016","26th December 2016","27th December 2016","28th December 2016", "29th December 2016"]
在这种情况下,我想避开周末。
每个相应下拉的值如下:
- 23rd December 2016
- 26th December 2016
- 27th December 2016
- 28th December 2016
目的是,如果我改变第一日期的值中的第23(“A星期五”)至26日(“A星期一”) ,其他3个日期将有一天转移到以下值;
- 26th December 2016
- 27th December 2016
- 28th December 2016
- 29th December 2016
这工作正常用下面的代码
addWeekdays: function (date, days) {
date = moment(date); // use a clone
while (days > 0) {
date = date.add(1, 'days');
// decrease "days" only if it's a weekday.
if (date.isoWeekday() !== 6 && date.isoWeekday() !== 7) {
days -= 1;
}
}
return date;
}
每个下拉的值通过该函数循环,date
是下拉的日期值和days
是天差的初始之间的数日期和新的日期。
我遇到的问题是,如果我再尝试从26日移回我不确定23如何重现它,所以我得到以下;
- 23rd December 2016
- 26th December 2016
- 27th December 2016
- 28th December 2016
基本上它是减去天泛着周末的差别的一种方式,所以,如果在天差为2,我想从周一到上周四,而不是周六。
任何帮助将不胜感激。
这可能帮助:http://stackoverflow.com/questions/20788411/how-to-exclude-weekends-between-two-dates-using-moment-js – Rajesh
@Rajesh那在这里我得到了我的功能到如何添加天,不包括周末,但我仍然不确定如何减去天,不包括周末 – mcclosa
@ gus27由于'days'回来为'线程-4' while循环将不火。 – mcclosa