Bonjour,
Je cherche à calculer le nb de jours ouvrés entre 2 dates en javascript, c'est à dire en excluant les week-end et jours fériés.
Est ce que qqun aurait cela svp ?
Merci :)
Version imprimable
Bonjour,
Je cherche à calculer le nb de jours ouvrés entre 2 dates en javascript, c'est à dire en excluant les week-end et jours fériés.
Est ce que qqun aurait cela svp ?
Merci :)
Si nb est le nombre de jours total.
nb_ouvre = nb - ( E(nb/7) * 2 ); // qq chose comme ça
Pour les jours férier ??
Plus compiqué...
Non ça va pas, il faut absolument connaitre le jour de la semaine, pour les jours ouvrés.
Comme ceci (c'est pas du vrai code):
Code:
1
2
3
4
5 for(jour=date1 ; jour==date2 ; jour++) { jour != (samedi && dimanch) alors nb_ouvre++. }
POur les jour férié, il faut les stocker qq part, un tableau par exemple.
Et obtient :
for(jour=date1 ; jour==date2 ; jour++)
{
si ( jour != (samedi && dimanch) && (jour != tab_ferie)
alors nb_ouvre++.
}
Le plus simple est a mon avis de faire une boucle ou tu part du premier jour pour arriver au dernier (attention quand meme a ne pas comparer des dates qui ne seraient pas dans le meme milenaire sous peine de voir ta boucle prendre un temps tres long). Dans ta boucle, tu incremente le nombre de jour si ta date ne fait pas partie de ta table des jours feries et si la partie getDay() de cette deniere est comprise entre 1 (lundi) et 5 (vendredi).
++
Fred.
C'est bien de traduire mon algo en françaisCitation:
Envoyé par fred777888999
Je sais compter le nb de jours entre 2 dates :
Maintenant me faut la liste des jours fériés (bon ca ok, sauf p-e Pacques plus dur à calculer) et les décompter (donc voir s'ils sont compris entre les 2 dates).Code:
1
2
3
4
5 function DaysDiff(D1, D2) { return Math.round((D1 - D2) / 86400000); } nb = DaysDiff(new Date('2005/09/24'), new Date('2005/09/15'));