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 :

Question : possible de faire une fonction de detection des jours fériés ?


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 83
    Points
    83
    Par défaut Question : possible de faire une fonction de detection des jours fériés ?
    Bonjour,

    Je voudrais savoir s'il est possible facilement de faire uen fonction mettons est férié qui me dira en passant une date si cette date est férié ?

    voici ce que j'ai fait mais je doute que cela traite tous les cas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function estFerie(j,m) {
    	var ferie=new Array("01/01","01/05","08/05","14/07","15/08","01/11","11/11","25/12");
    	var nb=ferie.length;
    	var test=false;
    	for(var i=0;i<nb;i++) {
    		if ((ferie[i].substring(0,2)==j)&&(ferie[i].substring(3,5)==m)) return true;
    	}
    	return false;
    }
    Merci

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    bonjour
    oui c'est tout a fait possible :
    déclare une date :
    var JourFerié = new Date();
    affecte ton jours férié par rapport a la boucle qui contient tout tes jours férié et vérifie en fonction de la date du jour

    Bon courage ^^
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    bonjour
    oui c'est tout a fait possible :
    déclare une date :
    var JourFerié = new Date();
    affecte ton jours férié par rapport a la boucle qui contient tout tes jours férié et vérifie en fonction de la date du jour

    Bon courage ^^
    Tous d'abord merci d'avoir répondu

    En fait voila je doit à partir d'une date vérifier si c'est un jour férié.
    par exemple si je récupère une date, je passe donc en paramètre la date.

    Mais comment je peut faire dans ma fonction pour savoir toutes les dates fériés ? car la si je ne me trompe pas il me manque Pâque, Pentecote..

    Merci encore

  4. #4
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par Paul75 Voir le message
    Mais comment je peut faire dans ma fonction pour savoir toutes les dates fériés ? car la si je ne me trompe pas il me manque Pâque, Pentecote..
    Pas évident ça Certains jours changent d'une année à l'autre. Par exemple pour Pâques :
    Citation Envoyé par Article wikipédia
    Pâques est célébré le dimanche qui suit le quatorzième jour de la lune qui atteint cet âge au 21 mars ou immédiatement après. Autrement dit, c’est le premier dimanche qui suit ou qui coïncide avec la première pleine lune après le 21 mars (marquant le début du printemps).
    source : http://fr.wikipedia.org/wiki/Calcul_...de_P%C3%A2ques

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 83
    Points
    83
    Par défaut
    en VB j'y suis arrivé.

    On peu le faire en JS avec un code en VB ?

    J'ai ca en VB :
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Function EstFerié(ByVal QuelleDate As Date) As Boolean
        Dim anneeDate As Integer
        Dim jourSem As Integer
        Dim JoursFeries(1 To 12) As Date
        Dim i As Integer
        anneeDate = Year(QuelleDate)
     
        JoursFeries(1) = CDate("01/01/" & anneeDate)
        JoursFeries(2) = CDate("01/05/" & anneeDate)
        JoursFeries(3) = CDate("08/05/" & anneeDate)
        JoursFeries(4) = CDate("14/07/" & anneeDate)
        JoursFeries(5) = CDate("15/08/" & anneeDate)
        JoursFeries(6) = CDate("01/11/" & anneeDate)
        JoursFeries(7) = CDate("11/11/" & anneeDate)
        JoursFeries(8) = CDate("25/12/" & anneeDate)
        JoursFeries(9) = JourDePaques(anneeDate)
        ' Lundi de Pâques = Paques + 1
        JoursFeries(10) = JoursFeries(9) + 1
        ' Ascension = Paques + 39
        JoursFeries(11) = JoursFeries(9) + 39
        ' Lundi Pentecôte = Paques + 50
        JoursFeries(12) = JoursFeries(9) + 50
     
        For i = 1 To 12
            If QuelleDate = JoursFeries(i) Then
                EstFerié = True
                Exit For
            End If
        Next
        'MsgBox ("Est FERIE ? : " & EstFerié)
    End Function
     
    Public Function JourDePaques(annee) As Date
        Dim a, b, c, d, e, f, g, h, i, k, l, m, n, p As Integer
        a = Int(annee Mod 19)
        b = Int(annee \ 100)
        c = Int(annee Mod 100)
        d = b \ 4
        e = b Mod 4
        f = (b + 8) \ 25
        g = (b - f + 1) \ 3
        h = (19 * a + b - d - g + 15) Mod 30
        i = c \ 4
        k = c Mod 4
        l = (32 + 2 * e + 2 * i - h - k) Mod 7
        m = (a + 11 * h + 22 * l) \ 451
        n = (h + l - 7 * m + 114) \ 31
        p = (h + l - 7 * m + 114) Mod 31
        JourDePaques = DateSerial(annee, n, p + 1)
    End Function
    Merci

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    oui tout a fait , un petit peu d'huile de coude sera nécessaire

    rien de bien méchant tu as déja presque tout fait =>
    déclaration de ton tableau de jour fériés
    - calcul pour le jour de pâque
    - il te reste a renvoyer un booléen pour savoir si le jour passé en paramètre de ta fonction est férié ou non
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    oui tout a fait , un petit peu d'huile de coude sera nécessaire

    rien de bien méchant tu as déja presque tout fait =>
    déclaration de ton tableau de jour fériés
    - calcul pour le jour de pâque
    - il te reste a renvoyer un booléen pour savoir si le jour passé en paramètre de ta fonction est férié ou non
    Okay jme met au travail alors

    Merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/08/2006, 14h50
  2. Est-il possible d'exécuter une fonction à partir de fichier
    Par magic8392 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 16/09/2005, 13h59
  3. Question de débutant : Faire une puissance en c++
    Par Spartan03 dans le forum C++
    Réponses: 1
    Dernier message: 15/09/2005, 18h55
  4. Possible de faire une dll ?
    Par GAGNON dans le forum Access
    Réponses: 8
    Dernier message: 04/07/2005, 08h58
  5. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 00h13

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