Différence entre deux dates en excluant jour ferie

igo95 Messages postés 13 Date d'inscription dimanche 27 août 2017 Statut Membre Dernière intervention 4 octobre 2017 - Modifié le 22 sept. 2017 à 12:23
igo95 Messages postés 13 Date d'inscription dimanche 27 août 2017 Statut Membre Dernière intervention 4 octobre 2017 - 22 sept. 2017 à 13:54
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

@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
22 sept. 2017 à 12:26
bonjour

en faisant var y=dateStart.split("/") tu obtient un tableau on ne peut donc pas faire y=parseInt(y)
1
igo95 Messages postés 13 Date d'inscription dimanche 27 août 2017 Statut Membre Dernière intervention 4 octobre 2017
22 sept. 2017 à 13:54
Ah oui j'ai oublie Merci karamel
0
Rejoignez-nous