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

Langage Java Discussion :

GregorianCalendar le jour ouvrable suivant


Sujet :

Langage Java

  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut GregorianCalendar le jour ouvrable suivant
    Hello,

    Je tente de récupérer le jour suivant ouvrable pour une date donnée

    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
     
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
     
    public class DateTest {
     
    	public static Date appendDay(Date aDate) {
     
    		GregorianCalendar calendar = new GregorianCalendar();
    		calendar.setTime(aDate);
     
    		int offset = 1;
    		int offsetSaturday = 2;
    		int offsetFriday = 3;
    		if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY) {
    			calendar.add(Calendar.DATE, offsetFriday);
    		} else if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
    			calendar.add(Calendar.DATE, offsetSaturday);
    		} else {
    			calendar.add(Calendar.DATE, offset);
    		}
    		return calendar.getTime();
    	}
     
    	public static void main (String [] args) {
    		try {
    			SimpleDateFormat format = new SimpleDateFormat("dd.mm.yyyy");
     
    			Date d1 = format.parse("28.09.2009");
    			Date d2 = appendDay(d1);
    			System.out.println(format.format(d2));
    		} catch (Exception ex) {
    			System.out.println("Exception : " + ex);
    		}
    	}
    }
    Le problème se situe au niveau de calendar.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY) qui ne donne pas une condition valide et ne retourne donc la date suivante :

    29.09.2009

    Comment donc récupérer le bon jour de la semaine ?

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 380
    Points : 480
    Points
    480
    Par défaut
    Bonjour,

    Je ne saisis pas très bien le problème avec ton code.
    En effet, le 28/09/2009 est un mardi et la méthode retourne le 29/09/2009 qui est bien le jour suivant (offset =1).

    A+

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

Discussions similaires

  1. Calcul Jours Ouvrables
    Par beurnoir dans le forum Access
    Réponses: 8
    Dernier message: 26/10/2005, 15h53
  2. Réponses: 5
    Dernier message: 14/10/2005, 12h11
  3. Decaler les dates d'un jour en jours ouvrables
    Par beurnoir dans le forum Access
    Réponses: 4
    Dernier message: 06/10/2005, 10h13
  4. [VBA-E] Jours ouvrables
    Par vuldos dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 06/04/2005, 11h46
  5. [VB6] Avec num. de semaine, savoir le 1er et der. jour ouvrable?
    Par lololefada dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/01/2004, 13h07

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