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 

Votre réponse

2 réponses

Meilleure réponse
@karamel 1657 Messages postés vendredi 9 mai 2008Date d'inscriptionModérateurStatut 18 juin 2018 Dernière intervention - 22 sept. 2017 à 12:26
1
Merci
bonjour

en faisant var y=dateStart.split("/") tu obtient un tableau on ne peut donc pas faire y=parseInt(y)

Merci @karamel 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes ce mois-ci

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.