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 :

Compter le nb de jours ouvrés entre 2 dates


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Par défaut Compter le nb de jours ouvrés entre 2 dates
    Bonjour,

    Je cherche à calculer le nb de jours ouvrés entre 2 dates en javascript, c'est à dire en excluant les week-end et jours fériés.

    Est ce que qqun aurait cela svp ?

    Merci

  2. #2
    Membre éclairé Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Par défaut
    Si nb est le nombre de jours total.

    nb_ouvre = nb - ( E(nb/7) * 2 ); // qq chose comme ça

    Pour les jours férier ??
    Plus compiqué...

  3. #3
    Membre éclairé Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Par défaut
    Non ça va pas, il faut absolument connaitre le jour de la semaine, pour les jours ouvrés.

    Comme ceci (c'est pas du vrai code):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for(jour=date1 ; jour==date2 ; jour++)
    {
     jour != (samedi && dimanch) alors nb_ouvre++.
    }

  4. #4
    Membre éclairé Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Par défaut
    POur les jour férié, il faut les stocker qq part, un tableau par exemple.

    Et obtient :

    for(jour=date1 ; jour==date2 ; jour++)
    {
    si ( jour != (samedi && dimanch) && (jour != tab_ferie)
    alors nb_ouvre++.
    }

  5. #5
    Membre expérimenté Avatar de fred777888999
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 250
    Par défaut
    Le plus simple est a mon avis de faire une boucle ou tu part du premier jour pour arriver au dernier (attention quand meme a ne pas comparer des dates qui ne seraient pas dans le meme milenaire sous peine de voir ta boucle prendre un temps tres long). Dans ta boucle, tu incremente le nombre de jour si ta date ne fait pas partie de ta table des jours feries et si la partie getDay() de cette deniere est comprise entre 1 (lundi) et 5 (vendredi).
    ++
    Fred.

  6. #6
    Membre éclairé Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Par défaut
    Citation Envoyé par fred777888999
    Le plus simple est a mon avis de faire une boucle ou tu part du premier jour pour arriver au dernier (attention quand meme a ne pas comparer des dates qui ne seraient pas dans le meme milenaire sous peine de voir ta boucle prendre un temps tres long). Dans ta boucle, tu incremente le nombre de jour si ta date ne fait pas partie de ta table des jours feries et si la partie getDay() de cette deniere est comprise entre 1 (lundi) et 5 (vendredi).
    ++
    Fred.
    C'est bien de traduire mon algo en français

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Par défaut
    Je sais compter le nb de jours entre 2 dates :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function DaysDiff(D1, D2) {
        	return Math.round((D1 - D2) / 86400000);
    }
    nb = DaysDiff(new Date('2005/09/24'), new Date('2005/09/15'));
    Maintenant me faut la liste des jours fériés (bon ca ok, sauf p-e Pacques plus dur à calculer) et les décompter (donc voir s'ils sont compris entre les 2 dates).

Discussions similaires

  1. Compter le nombre de jours écoulés entre deux dates
    Par koKoTis dans le forum VBScript
    Réponses: 8
    Dernier message: 07/08/2006, 19h44
  2. [Dates] Nombre jours ouvrés entre deux dates
    Par Yali dans le forum Langage
    Réponses: 4
    Dernier message: 28/12/2005, 12h05
  3. Nombre de jours ouvrés entre 2 dates
    Par motlerang dans le forum Langage SQL
    Réponses: 1
    Dernier message: 13/12/2005, 13h25
  4. Nbre de jours ouvrés entre deux date
    Par lito74 dans le forum Access
    Réponses: 3
    Dernier message: 08/12/2005, 09h16
  5. [Info] Jours ouvrés entre 2 dates
    Par Dinytro dans le forum API standards et tierces
    Réponses: 14
    Dernier message: 10/08/2005, 16h05

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