IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Différence entre deux dates en excluant jour férié


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Août 2017
    Messages : 7
    Points : 9
    Points
    9
    Par défaut Différence entre deux dates en excluant jour férié
    bonjour tt le monde,

    j'ai un problème c fait 3 jour que je cherche comment 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:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <script>
    function nbJourOuvrable(dateStart,dateStop)
    {
    var opendays = 0;
    var interval = 86400;
    var dateFerie =new  Array();
    var y=dateStart.getYear()
    dateFerie[0]=new Date(y, 1, 1, 0, 0, 0)
    dateFerie[0]=new Date(y, 5, 1, 0, 0, 0)
    var mSimple = false;
    if(dateStart.getYear()== dateStop.getYear()){
    mSimple = true;
    }
    for (var i=dateStart; i <= dateStop; i=i+interval) {
    Yi = i.getYear()
    if(Yi != y){
    dateFerie[0]=new Date(y, 1, 1, 0, 0, 0)
    dateFerie[0]=new Date(y, 5, 1, 0, 0, 0)
    }
     
    if(i == dateFerie[0]){continue;}
    if(i == dateFerie[1]){continue;}
     
    opendays++;
    }
        document.forms['form1'].elements['jour'].value=opendays;
    }
    var date1=document.getElementById('date1')
    var date1=document.getElementById('date2')
    </script>
     
    <form method="post" action="" name="form1">
    Date1 : <input type="text" name="date1" id="date1" /><br /><br />
    Date2 : <input type="text" name="date2"id="date2" /><br /><br />
    nombre jour : : <input type="text" name="jour" value="0" readonly /><br /><br />
    <input type="button" onclick="return nbJourOuvrable(date1,date2)" value="calculer nb jour" />
    </form>
    mais le problème quand j'ai exécute le code il me donne cette erreur :dateStart.getYear is not a function.

    Et merci pour vos aide

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Pour ce qui est des jours fériés, il va te falloir les stocker quelque part et vérifier si ils appartiennent à ton intervalle de date.

    Ensuite je ne saurait trop te conseiller que de te pencher sur la librairie moments.js poru te facilité la manipulation des dates


    Sinon poru ton message d'erreur
    getYear() n'existe en effet pas en js ...
    essaye plutot getFullYear()
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    getYear() n'existe en effet pas en js ...
    Sisi, c'est obsolète mais cela existe, par contre cela n'existe pas pour un élément du DOM comme c'est le cas de la demande dans le code fourni, dixit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var date1=document.getElementById('date1')
    var date1=document.getElementById('date2') // ATTENTION METTRE var date2 et non 1
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" onclick="return nbJourOuvrable(date1,date2)" value="calculer nb jour" />
    et enfin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function nbJourOuvrable(dateStart,dateStop)
    pour aboutir à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var y=dateStart.getYear()

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Sisi, c'est obsolète mais cela existe,
    Fichtre mais c'est vrai que ça existe !!!
    Je ne l'ai JAMAIS utilisé :red: ce qui prouve que l'on peut très bien s'en passer


    J'avais par contre complètement zappé le .value manquant ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/01/2013, 11h44
  2. calculer la différence entre deux dates en excluant les weekends
    Par darkdark dans le forum Collection et Stream
    Réponses: 19
    Dernier message: 26/05/2011, 16h49
  3. différence entre deux dates en jour
    Par djouk dans le forum Requêtes
    Réponses: 1
    Dernier message: 07/01/2011, 09h11
  4. [AC-2010] Calculer la différence entre deux dates, en jour, dans une requête
    Par Just-Soft dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/10/2010, 02h19
  5. Réponses: 2
    Dernier message: 21/07/2006, 14h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo