J'ai un 4 dropdowns qui sont peuplées par dates, par exemplejours Soustraire compte tenu des week-ends
["23rd December 2016","26th December 2016","27th December 2016","28th December 2016", "29th December 2016"]
Dans ce scénario, je veux éviter le week-end.
La valeur de chaque menu déroulant respectif est la suivante
- 23rd December 2016
- 26th December 2016
- 27th December 2016
- 28th December 2016
L'objectif est que si je change la valeur de la première date du 23 (« Un vendredi ») à 26 (« lundi ») , les 3 autres dates passeront un jour aux valeurs suivantes;
- 26th December 2016
- 27th December 2016
- 28th December 2016
- 29th December 2016
Cela fonctionne très bien avec le code suivant
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;
}
La valeur de chaque menu déroulant une boucle dans cette fonction, date
est la valeur de la date de la liste déroulante et days
est le nombre de jours de différence entre la première date et la nouvelle date. Le problème que j'ai est que si j'essaie alors de passer du 26ème au 23ème, je ne suis pas sûr de savoir comment le recréer pour obtenir ce qui suit;
- 23rd December 2016
- 26th December 2016
- 27th December 2016
- 28th December 2016
Fondamentalement, il est un moyen de soustraire la différence de jours exsudant le week-end, donc si la différence de jours est 2, je voudrais aller du lundi au jeudi précédent et non au samedi.
Toute aide serait grandement appréciée.
Cela pourrait aider: http://stackoverflow.com/questions/20788411/how-to-exclude-weekends-between-two-dates-using-moment-js – Rajesh
@Rajesh Ce est le fil où j'ai eu ma fonction dans la façon d'ajouter des jours excluant les week-ends mais je ne suis toujours pas sûr de savoir comment soustraire les jours excluant les weekends – mcclosa
@ gus27 En raison de la 'jours' revenir en' -4' la boucle while ne se déclenche pas . – mcclosa