Здесь вы идете!
function addWeekdays(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;
}
Вы вызываете это так
var date = addWeekdays(moment(), 5);
Я использовал .isoWeekday
вместо .weekday
, потому что он не зависит от locale (.weekday(0)
может быть как в понедельник, так и в воскресенье).
Не вычитайте дни недели, т. е. addWeekdays(moment(), -3)
, иначе эта простая функция будет зацикливаться навсегда!
Обновлен JSFiddle http://jsfiddle.net/Xt2e6/39/ (используя разные импульсы cdn)