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

Collection et Stream Java Discussion :

[AIDE] Comment ajouter un nb de jours ouvres à une date


Sujet :

Collection et Stream Java

  1. #1
    Membre confirmé Avatar de Diablo_22
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 498
    Points : 490
    Points
    490
    Par défaut [AIDE] Comment ajouter un nb de jours ouvres à une date
    Bonjour,
    je ne trouve pas comment calculer une date en
    ajoutant un nb de jours ouvrés à une autre date. Merci de vos lumières.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Tu va devoir rajouter autant de jour à un gregorian calendar que de jours ouvrés en les ajoutant un à un. et en ajoutant systématiquement des jours supplémentaires lorsque ce ne sont pas des jours ouvrés. (pour "sauter" les jours fériés)

    bien sur il te faudra une liste des jours non-ouvrés pour faire çà


    Les méthodes de Calendar qui vont te servir:


    setTime() (pour définir le point de départ du calendrier, date à laquelle tu veux ajouter des jours)
    add() (pour incrémenter un champ du Calendar)
    get() (pour lire le jour en question et déterminer si il est férié)
    getTime() (pour reconstruire un java.util.Date à partir de là)

  3. #3
    Membre confirmé Avatar de Diablo_22
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 498
    Points : 490
    Points
    490
    Par défaut
    Merci pour ton aide. Je poste ma solution si sa peut aider certain .

    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
     
    	/** Définit le nombre de jour à ajouter au jour courant pour le prochain jour ouvré :<br>
             * Jeudi : 0<br>
             * Vendredi : 2<br>
             * Samedi : 1<br>
             * Dimanche : 0<br>
             * Le premier jour, celui en cours est sauté
             * @param dateInitiale
             * @param nbDayToAdd : nombre de jours à ajouter
             * @return nombre de jour
             */
    	public static int getNbJourOuvreToAdd(Date date, int nbDayToAdd)
    	{
    		Calendar cal = new GregorianCalendar();
    		cal.setTime(date);
    		int nbNonOuvre=0;
    		if(nbDayToAdd >=0){
    			for (int i=0; i<=nbDayToAdd;i++)
    			{
     
    				cal.add(Calendar.DAY_OF_YEAR, 1);
    				if (isJourNonOuvre(cal))
    					nbNonOuvre++;
    			}
    		}else{
    			for (int i=0; i>=nbDayToAdd;i--)
    			{
     
    				cal.add(Calendar.DAY_OF_YEAR, -1);
    				if (isJourNonOuvre(cal))
    					nbNonOuvre--;
    			}
    		}
    		return nbNonOuvre+nbDayToAdd;
    	}
    	/** 
           * Ajoute un nombre de jour à une date        
           */
    	public static Date ajouterJour(Date date, int nbDayToAdd)
    	{
    		Calendar cal = new GregorianCalendar();
    		cal.setTime(date);		
    		cal.add(Calendar.DAY_OF_YEAR, nbDayToAdd);
    		date = cal.getTime();
    		return cal.getTime();
    	}

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

Discussions similaires

  1. [AC-2010] Soustraire ou ajouter des jours ouvrés à une date
    Par typouce dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 28/01/2015, 13h01
  2. [Toutes versions] Ajouter X jours ouvré à une date
    Par DaD92 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/11/2011, 20h30
  3. Réponses: 5
    Dernier message: 31/03/2010, 16h30
  4. comment connaitre le nom du jour d'une date
    Par 21247692 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 27/09/2007, 14h24
  5. ajouter un nombre de jour ouvrable à une date
    Par ecirb dans le forum InfoPath
    Réponses: 1
    Dernier message: 30/03/2007, 15h52

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