例如,我有 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 Friday”)更改为 26 日(“A Monday”),其他 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,我想从周一到上周四而不是周六。
任何帮助将不胜感激。