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 :

les jours feries et weekend


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Par défaut les jours feries et weekend
    Bonjour

    est ce que quelqu'un a deja utilisé une fonction permettant de verifier si une date correspond à un jour ferie ou un weekend?
    Merci d'avance

  2. #2
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Pour le week-end, c'est simple...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function isWeekEnd(D /* as Date*/) {
      return (D.getDay() == 0 || D.getDay()==6)
    }
    ... pour les jours fériers... ca l'est moins

  3. #3
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par FremyCompany
    Pour le week-end, c'est simple...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function isWeekEnd(D /* as Date*/) {
      return (D.getDay() == 0 || D.getDay()==6)
    }
    ... pour les jours fériers... ca l'est moins

    rien qu'en France les vacances varient d'une zone à l'autre.
    Sinon tu as la liste ici :
    http://www.tripalium.com/chiffres/chiffre10.htm
    il faut faire un test à la fois sur le mois et la date.

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Par défaut
    Merci pour votre aide.
    Mai j'ai encore besoin de vos conseils. en fait pour utiliser la fonction isWeekend j'ai essaye de cree une date de type Date.
    Le probleme c'est que si le jour est egal à 08 ou 09 le constructeur me retourne une date erronnee.

    var madate = "08/02/2006";
    var tabDate1 = madate .split('/');
    var datTest_Date1 = new Date(parseInt(tabDate1[2]), parseInt(tabDate1[1])-1, parseInt(tabDate1[0]));
    alert("la date est "+datTest_Date1);

    Merci bcp

  5. #5
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /*
       Renvoie une date pour une chaine de caractère au format [D]D/MM/YY[YY]
    */
    function parseDate(strDate /* as String */) {
       var D = new Date(strDate + " 00:00:00")
    }
    ???

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Par défaut
    j'ai teste ça

    var maDate = "08/01/2006";
    //alert("calendrier2 "+dateUser);
    var test = new Date(maDate + " 00:00:00");
    alert("test "+test);

    mais il m'affiche wed aug 2 donc pour lui 08 represente le mois.

  7. #7
    Membre éclairé Avatar de linar009
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 497
    Par défaut
    logique (date au format "américian")

  8. #8
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var madate="08/02/2006";
    var tabDate1=madate .split('/');
    var datTest_Date1=new Date(parseInt(tabDate1[2]), parseInt(tabDate1[0])-1, parseInt(tabDate1[1]));
    alert("la date est "+datTest_Date1);
    Au fait, pense à utiliser la balise [CODE] (le boutton # en haut de l'éditeur)

  9. #9
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Par défaut
    Je vous remercie pour votre aide et je propose les fonctions que j'ai utilisé en esperant qu'elles serviront à d'autres.
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    var Ferie=new Array("01/01","01/05","08/05","14/07","15/08","01/11","11/11","25/12");	
     function Compare_Dates(valeur_date1, valeur_date2)
    {
    	var tabDate1 = valeur_date1.split('/');		
    	var maDate1 = tabDate1[1]+"/"+tabDate1[0]+"/"+tabDate1[2];
    	var datTest_Date1 = new Date(maDate1 + " 00:00:00");
     
    	var tabDate1 = valeur_date2.split('/');		
    	var maDate2 = tabDate1[1]+"/"+tabDate1[0]+"/"+tabDate1[2];
    	var datTest_Date2 = new Date(maDate2 + " 00:00:00");
     
    	if (datTest_Date1 > datTest_Date2)
    	 {   
    	   return true;
    	 }
    	 else{
    	 	return false;
    	 }
    }
     
     function isWeekEnd(D) {
     	if(D.getDay() == 0 || D.getDay()==6){
     		return true;
     	}
    	else{
    		 return false;
    	} 
    }
     
    function isPaques(an){
     
     
    		var b=an-1900; 
    		var c=an%19; 
    		var d=Math.floor((7*c+1)/19);
    		var e=(11*c+4-d)%29;		
    		var f=Math.floor(b/4); 
    		var g=(b+f+31-e)%7;
    		var date=25-e-g;
    		var mois;
     
    		if (date>0) {mois = 4}
    		else	{date=31+date; mois=3};
    		date = ( (date<10)? '0'+date:date);
    		Ferie.push( ((date<10)? '0'+date:date)+'/'+((mois<10)?'0'+mois:mois)); // Dimanche de Paques
     
    		date+=1;
    		if ( (date>31) && (mois=3)) {date=1;mois+=1}
    		Ferie.push(((date<10)? '0'+date:date)+'/'+((mois<10)?'0'+mois:mois)); //Lundi de Paques 
     
    		date+=38;
    		while (date>31) {var tt=0; date-=DernierJour[mois-1+tt]; tt++ ; mois+=1}
    		Ferie.push(((date<10)? '0'+date:date)+'/'+((mois<10)?'0'+mois:mois)); // Jeudi de l'ascencion
     
    		date+=10;
    		while (date>31) {var tt=0; date-=DernierJour[mois-1+tt]; mois+=1}
    		Ferie.push(((date<10)? '0'+date:date)+'/'+((mois<10)?'0'+mois:mois)); // Pentecote
     
    	}
     
    function isFerie(j,m) { 
    	   var i=0
    	   	for(var i in Ferie) { 
    		if ( test=(((j<10)?'0'+j:j)+'/'+((m<10)?'0'+m:m)) == Ferie[i++]) return true;}
    		return false;
    	}
     
    //appel des fonctions
     
    if(isWeekEnd(res)){
    	alert("La date saisie est un jour de week-end");
    }
    	isPaques(annee); 
    	if(!isFerie(jour,mois)){
    		alert("Le jour saisi est un jour ferié");
    	}
    Merci encore une fois et bon courage à tous

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 7
    Par défaut
    Bonjour,

    Je sais que le message date un peu mais je suis en train de l'adapter à mes besoins par contre à quoi correspond "DernierJour[] svp ?

    Merci de vos lumières

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/11/2012, 14h55
  2. soustraire deux dates sans prendre en compte weekends et jours feries
    Par debutVBA dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 03/01/2012, 15h40
  3. Réponses: 4
    Dernier message: 04/08/2010, 13h05
  4. [AC-2002] Griser les jours fériés et weekend d'un calendrier
    Par Deciprog dans le forum VBA Access
    Réponses: 4
    Dernier message: 07/07/2010, 12h39
  5. Réponses: 5
    Dernier message: 19/10/2006, 23h25

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