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

avec Java Discussion :

Dernier jours ouvrable du mois


Sujet :

avec Java

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 218
    Points : 91
    Points
    91
    Par défaut Dernier jours ouvrable du mois
    Bonjour a tous,

    je recherche un code ou une méthode qui me donnerait le dernier jour ourvrable du mois courant.

    Celà existe-t-il ?

    D'avance merci pour votre aide
    Stujava

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Je ne connais rien de tout fait, mais java.util.GregorianCalendar possède toutes les méthodes de bases pour faire ce que tu demandes en quelques lignes.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par dinobogan Voir le message
    Je ne connais rien de tout fait, mais java.util.GregorianCalendar possède toutes les méthodes de bases pour faire ce que tu demandes en quelques lignes.
    +1

    Mais pourquoi passer par GregorianCalendar et ne pas utiliser directement Calendar, comme avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	// On récupère un calendar initialisé à la date du jour :
    	Calendar cal = Calendar.getInstance();
     
    	// On se positionne sur le dernier jour du mois en cours :		
    	cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
     
    	// Et on enlève 1 jour tant qu'on tombe sur un samedi ou un dimanche
    	int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
    	while ( dayOfWeek==Calendar.SATURDAY || dayOfWeek==Calendar.SUNDAY ) {
    		cal.add(Calendar.DAY_OF_MONTH, -1);
    		dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
    	}
    Il reste juste le problème des jours fériées, qui ne sont pas géré car dépendant du pays...

    Il faudrait générer une liste des jours férié et comparer à la date actuelle.
    Pour info en France on a deux types de jour fériés :
    • Les jours fériés à une date fixe, et donc facile à déterminer : 1er janvier, 1 mai, 8 mai, 14 juillet, 15 août, 1er novembre, 11 novembre et 25 décembre.
    • Les jours fériés à date variable, qui dépendent du dimanche de Paques : Vendredi saint, Lundi de Paques, Ascension et Lundi de Pentecôte).
      Il y a plusieurs algorithme pour calculer la date du dimanche de Paques : http://fr.wikipedia.org/wiki/Calcul_...de_P%C3%A2ques


    a++

    PS : A noter qu'il existe également des jours fériés supplémentaires dans les DOM-TOM

  4. #4
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Points : 778
    Points
    778
    Par défaut
    si il existais quelquechose de tout fait en java sa se saurais
    c'est bien de chercher des methodes toutes pretes mais pourquoi pas simplement te faire ta propre methode pour sa c pas tres difficile et sa te permetrais de gerer par la meme ocasion les jours feriés et autre

    enfin je dis sa comme sa
    Spécialiste des questions bêtes

    ”If you can't explain it simply, you don't understand it” (Ce que tu ne peux pas expliquer simplement, tu ne le comprends pas) Albert Einstein

    Si une reponse vous plait ou vous a aidé n'hesitez pas a voter pour

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Je cherchais justement la même chose .

    Citation Envoyé par EIN-LESER Voir le message
    c'est bien de chercher des methodes toutes pretes mais pourquoi pas simplement te faire ta propre methode pour sa c pas tres difficile
    Bah oui tiens réinventons la voiture aussi ... Et pourquoi réinventé des choses si elle existe déjà a moins de vouloir augmenté sa charge de travail ?? Pas très productif comme reflexion !!

  6. #6
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 711
    Points : 4 796
    Points
    4 796
    Par défaut +1
    Bah oui tiens réinventons la voiture aussi ...
    Il y a quelques années, j'avais fait un petit bricolage pour me donner le libellé d'un jour férié (français) à partir d'un GregorianCalendar.
    C'est assez illisible et probablement pas très rigoureux, mais bon, si cela peut rendre service ...


    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
     
     
    import java.util.Calendar;
    import java.util.GregorianCalendar;
     
    .....
    // à inclure dans la classe qui en a besoin ...
     
        public String JourFériéLib(GregorianCalendar G) {
     
            GregorianCalendar Test = new GregorianCalendar(G.get(Calendar.YEAR),G.get(Calendar.MONTH),G.get(Calendar.DAY_OF_MONTH));
            int A = G.get(Calendar.YEAR);   // année de la date examinée
            int T = 0; int T_48 = 0;        // pour calculs intermédiaires
            GregorianCalendar LP;           // contiendra la date du lundi de Pâques
            String TYPEJOUR = "Ordinaire";  // valeur par défaut de la date
     
            // recherche du lundi de Pâques de la date Test
            T = Modulo(((255 - 11 * Modulo(A, 19)) - 21) , 30 ) + 21;
            if (T > 48) {
                T_48 = -1;
            } else {
                T_48 = 0;
            }
     
            LP = new GregorianCalendar(A, 3-1, 2);
            LP.add(Calendar.DAY_OF_YEAR , (T + T_48 + 6 - Modulo((A + A / 4 + T + T_48 + 1) , 7)));
     
            //  valeurs par défaut
            if (Test.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY)    {TYPEJOUR = "Samedi";}
            if (Test.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)      {TYPEJOUR = "Dimanche";}
     
            // Jours fériés mobiles
            LP.add(Calendar.DAY_OF_YEAR,-1);
            if (Test.equals(LP))    {TYPEJOUR = "Dimanche de Pâques";}
            LP.add(Calendar.DAY_OF_YEAR,1);
            if (Test.equals(LP))    {TYPEJOUR = "Lundi de Pâques";}
            LP.add(Calendar.DAY_OF_YEAR,38);
            if (Test.equals(LP))    {TYPEJOUR = "Assension";}
            LP.add(Calendar.DAY_OF_YEAR,10);
            if (Test.equals(LP))    {TYPEJOUR = "Dimanche de Pentecôte";}
            LP.add(Calendar.DAY_OF_YEAR,1);
            if (Test.equals(LP))    {TYPEJOUR = "Lundi de Pentecôte";}
     
            // Jours fériés fixes
            if (Test.equals(new GregorianCalendar(A, 0, 1)))    {TYPEJOUR = "Jour de l'an";}
            if (Test.equals(new GregorianCalendar(A, 4, 1)))    {TYPEJOUR = "Fête du travail";}
            if (Test.equals(new GregorianCalendar(A, 4, 8)))    {TYPEJOUR = "8 Mai 45";}
            if (Test.equals(new GregorianCalendar(A, 6, 14)))   {TYPEJOUR = "Fête nationale";}
            if (Test.equals(new GregorianCalendar(A, 7, 15)))   {TYPEJOUR = "15 Août";}
            if (Test.equals(new GregorianCalendar(A, 10, 1)))   {TYPEJOUR = "Toussaint";}
            if (Test.equals(new GregorianCalendar(A, 10, 11)))  {TYPEJOUR = "11 novembre 18";}
            if (Test.equals(new GregorianCalendar(A, 11, 25)))  {TYPEJOUR = "Noël";}
     
     
            return TYPEJOUR;
        }
     
        public static int Modulo(int x, int y) {
            return (x - ((x/y) * y));
        }
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

Discussions similaires

  1. [AC-2003] [textbox] Avec la date du dernier jour ouvrable du mois en cours
    Par bigounet dans le forum VBA Access
    Réponses: 2
    Dernier message: 19/04/2014, 19h28
  2. Réponses: 3
    Dernier message: 06/09/2006, 17h22
  3. Réponses: 26
    Dernier message: 01/07/2006, 13h14
  4. dernier jour d'un mois comme oracle
    Par looc 6699 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/11/2005, 11h09
  5. Comment connaître le dernier jour d'un mois donné ?
    Par Le Pharaon dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 11/07/2005, 10h48

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