Différence entre deux dates en excluant jour ferie

igo95 13 Messages postés dimanche 27 août 2017Date d'inscription 4 octobre 2017 Dernière intervention - 21 sept. 2017 à 21:33 - Dernière réponse : igo95 13 Messages postés dimanche 27 août 2017Date d'inscription 4 octobre 2017 Dernière intervention
- 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
Afficher la suite 

2 réponses

Répondre au sujet
@karamel 1652 Messages postés vendredi 9 mai 2008Date d'inscriptionModérateurStatut 14 décembre 2017 Dernière intervention - 22 sept. 2017 à 12:26
+1
Utile
1
bonjour

en faisant var y=dateStart.split("/") tu obtient un tableau on ne peut donc pas faire y=parseInt(y)
Cette réponse vous a-t-elle aidé ?  
igo95 13 Messages postés dimanche 27 août 2017Date d'inscription 4 octobre 2017 Dernière intervention - 22 sept. 2017 à 13:54
Ah oui j'ai oublie Merci karamel
Commenter la réponse de @karamel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.