我有一個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