Différence entre deux dates en excluant jour ferie

Signaler
Messages postés
13
Date d'inscription
dimanche 27 août 2017
Statut
Membre
Dernière intervention
4 octobre 2017
-
Messages postés
13
Date d'inscription
dimanche 27 août 2017
Statut
Membre
Dernière intervention
4 octobre 2017
-
bonjour tt le monde,

j'ai un problème c fait 3 jour que je cherche comme je peux crée une fonction qui fait la différence entre deux dates en excluant les jour férié

après tt mes recherche et mes efforts j'ai pu crée cette fonction:
<script>
function nbJourOuvrable()
{
var dateStart=document.forms['form1'].elements['date1'].value
var dateStop=document.forms['form1'].elements['date2'].value
var opendays = 0;
var interval = 86400;
var dateFerie =new  Array();
var y=dateStart.split("/")
console.log(y);
y=parseInt(y)
var r=dateStop.split("/")
console.log(r);
r=parseInt(r)
dateFerie[0]=new Date(y[2], 1, 1, 0, 0, 0)
dateFerie[1]=new Date(y[2], 5, 1, 0, 0, 0)
var mSimple = false;
if(y[2]==r[2]){
mSimple = true;
}
for (var i=dateStart; i <= dateStop; i=i+interval) {
Yi = i.split("/")
console.log(Yi);
if(Yi[2] != y[2]){
dateFerie[0]=new Date(y[2], 1, 1, 0, 0, 0)
dateFerie[1]=new Date(y[2], 5, 1, 0, 0, 0)
}
 
if(i == dateFerie[0]){continue;}
if(i == dateFerie[1]){continue;}
 
opendays++;
}
    document.forms['form1'].elements['jour'].value=opendays;
}

</script>
 
<form name="form1">
<input type="date" id="date1" name="date1">
<input type="date" id="date2" name="date2">
<input type="text" id="jour" name="jour">
<div onclick="nbJourOuvrable();">Clic</div>
</form>

mais le problème quand j'ai exécute le code je trouve qu'il y a un bug très gênant au niveau de navigateur.
mon erreur ce trouve dans la boucle je sais que mes date se sont de type string j'ai essayer de convertir mes variable au type date mais sans résultat.
Et merci pour vos aide les amis

Et merci pour vos aide

1 réponse

Messages postés
1784
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
28 avril 2021
128
bonjour

en faisant var y=dateStart.split("/") tu obtient un tableau on ne peut donc pas faire y=parseInt(y)
Messages postés
13
Date d'inscription
dimanche 27 août 2017
Statut
Membre
Dernière intervention
4 octobre 2017

Ah oui j'ai oublie Merci karamel