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 :

Récuperer la valeur du jour d'avant


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    Inscrit en
    Mai 2012
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 360
    Par défaut Récuperer la valeur du jour d'avant
    Bonjour,

    Je développe une application de gestion d'horaire et je suis confrontée à un épineux problème qui me semble insoluble. Vous êtes ma dernière chance

    Pour un jour J, Je voudrais additionner deux valeurs. Le soucis, c'est que l'une de ces deux valeurs se trouvent sur le jour d'avant.
    Le jour est un varchar qui est de type
    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
     
    	int dureeDebutHoraire = 0;
     
     
     
    			if((typeHoraire !="Abs") && !"Abs".equals(typeHoraire)){
     
    				if(debutHoraire != null && !"".equals(debutHoraire)){
    					dureeDebutHoraire = convertirDureeEnMinute(debutHoraire);
    				}
     
     
    				Time finHoraireTimes = (Time) row[3];
    				String finHoraire = ""+finHoraireTimes;
     
    				if((finHoraire == "00:00:00") && "00:00:00".equals(finHoraire)){
    					System.out.println("alerte ici ! ! ");
    					finHoraire = "24:00:00";
    				}
     
     
    				int dureeFinHoraire = 0;
    				if(finHoraire != null && !"".equals(finHoraire)){
    					dureeFinHoraire = convertirDureeEnMinute(finHoraire);
    				}
     
    				int dureeAM = 0;
    				int dureePM = 0;
     
    				if(typeHoraire == "AM"){
     
    					dureeAM = dureeFinHoraire-dureeDebutHoraire;
     
    				}else if(typeHoraire == "PM"){
    					dureePM = dureeFinHoraire-dureeDebutHoraire;
    				}
     
     
    			}



    Auriez vous une piste pour que je puisse additionner le dureeAM avec le dureePM du jour d'avant, s'il vous plait.
    Merci pour tout

  2. #2
    Membre chevronné
    Avatar de Jacques Beauregard
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2015
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2015
    Messages : 231
    Par défaut
    Salut,
    Dans un premier temps :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if((typeHoraire !="Abs") && !"Abs".equals(typeHoraire))
    Pourquoi tu fais à chaque fois ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!"Abs".equals(typeHoraire))[
    est suffisant.

    Pourquoi tu ne manipules pas des LocalDate (par exemple) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    LocalDate huitJanvier = new LocalDate(2017,8,1);
    LocalDate jourPrecedent = huitJanvier.minusDay(1);
    Il ne faut jamais prendre les gens pour des cons, mais il ne faut pas oublier qu'ils le sont...

    Le guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Femme Profil pro
    Inscrit en
    Mai 2012
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 360
    Par défaut
    Je ne peux pas utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    LocalDate huitJanvier = new LocalDate(2017,8,1);
    LocalDate jourPrecedent = huitJanvier.minusDay(1);
    car je n'ai pas la version 8 de java et que je n'ai pas accès à la mise à jour de java sur le serveur

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par leara500 Voir le message
    car je n'ai pas la version 8 de java et que je n'ai pas accès à la mise à jour de java sur le serveur
    Si tu n'as pas accès à Java 8, tu peux utiliser l'API JODA time :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DateTime dateTime= new DateTime(date); // conversion java.util.Date en Date JODA Time
    DateTime dayBefore = dateTime.minusDays(1); // jour d'avant
    date = dateTime.toDate(); // conversion JODA vers java.util.Date
    On peut le faire en Java SE, avec la classe Calendar, mais cette méthode cette méthode pose des problèmes lorsqu'il y a changement d'heure (heure d'été/heure d'hiver).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Calendar calendar = Calendar.getInstance(); // pour obtenir une instance
     
    calendar.setTime(date); // tu affectes ton instance de java.util.Date
    calendar.add(Calendar.DATE, -1); // tu retires un jour pour avoir le jour d'avant
     
    date = calendar.getTime(); // tu récupères la date du jour d'avant dans la variable date.
    Attention, l'heure, les minutes, les secondes, etc. reste inchangées...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre éclairé
    Femme Profil pro
    Inscrit en
    Mai 2012
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 360
    Par défaut
    Merci infiniment de votre aide
    Je récupère mon jour J et mon jour d'avant

    Néanmoins, auriez vous une idée pour que pour le jour J, j'additionne la dureePM du jour d'avant, avec la dureeAM du jour J

    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
     
    PersonneCompteurSemaineDisp persCompteurSemDisp = new PersonneCompteurSemaineDisp();
    	Object[] row = (Object[]) results.next();
     
    	String libelleJour = (String)  row[0];
    	persCompteurSemDisp.setLibelleJour(libelleJour);
     
    	String typeHoraire = (String)  row[4];
     
    	Time debutHoraireTime = (Time) row[2];
    	String debutHoraire = ""+debutHoraireTime;
     
    	int dureeDebutHoraire = 0;
    	int dureeFinHoraire = 0;
     
    	Date dateJourJ = (Date)  row[15];
     
    	Calendar calendar = Calendar.getInstance(); // pour obtenir une instance
    	calendar.setTime(dateJourJ); // tu affectes ton instance de java.util.Date
    	calendar.add(Calendar.DATE, -1); // tu retires un jour pour avoir le jour d'avant
     
    	Date dateJourAvantJourJ = calendar.getTime(); // tu récupères la date du jour d'avant dans la variable date.
     
     
     
    	if(!"Abs".equals(typeHoraire)){
     
    		if(debutHoraire != null && !"".equals(debutHoraire)){
    			dureeDebutHoraire = convertirDureeEnMinute(debutHoraire);
    		}
     
     
    		Time finHoraireTimes = (Time) row[3];
    		String finHoraire = ""+finHoraireTimes;
     
    		if("00:00:00".equals(finHoraire)){
    			finHoraire = "24:00:00";
    		}else {
    			finHoraire = finHoraire;
    		}
     
     
     
    		if(!"".equals(finHoraire)){
    			dureeFinHoraire = convertirDureeEnMinute(finHoraire);
    		}
     
    		int dureeAM = 0;
    		int dureePM = 0;
     
    		if("AM".equals(typeHoraire)){
     
    			dureeAM =  dureeFinHoraire - dureeDebutHoraire;
     
     
    		}if("PM".equals(typeHoraire)){
    			dureePM =  dureeFinHoraire - dureeDebutHoraire;
     
     
    		}
     
     
     
     
     
    	}//fin du if(typeHoraire != Abs)

    Merci infiniment

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Je ne suis pas sûr de comprendre ce que tu cherches à faire... c'est quoi la dureeAM ou dureePM ? C'est un nombre d'heures, ou de minutes, limitée à 12h max (exclu?inclus?) ? C'est quoi l'unité ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. valeur d'un control avant mise à jour
    Par samloba dans le forum IHM
    Réponses: 1
    Dernier message: 30/07/2012, 20h34
  2. [VB.NET]Récuperer des valeurs d'une autre page
    Par Dnx dans le forum ASP.NET
    Réponses: 8
    Dernier message: 12/05/2005, 16h19
  3. [JCheckBox] Récuperer les valeurs
    Par Regis.C dans le forum Composants
    Réponses: 3
    Dernier message: 12/04/2005, 21h19
  4. Récuperer la valeur d'un entier
    Par Sniper37 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/03/2005, 12h13
  5. [jsp] récuperation de valeur d'un formulaire
    Par peppena dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 30/03/2004, 21h00

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