Partage
  • Partager sur Facebook
  • Partager sur Twitter

Vérification et comparaison de dates

    31 mars 2015 à 17:06:30

    Bonjour à tous,

    Je me permets de venir vers vous, débutant en Java, je me prends la tête sur la gestion des dates.

    Je suis actuellement en train de réaliser un planning en JEE/Tomcat/Oracle me permettant de consulter des réservations pour un jour donné.

    Je dois avouer qu'une réservation qui commence et fini le même jour ne me pose pas de problème.

    public int getCalculHDeb() {
    		
            String jourDeb = getDateDebut();
    	String jourFin = getDateFin();	
    	
    	String HRecup = getHeureDebut().substring(0,2);	
    	String HRecupMin = getHeureDebut().substring(3,5);
    	int HRecupConvert = Integer.parseInt(HRecup);
    		
    		HDeb = (HRecupConvert-5)*2;
    		if(HRecupMin.equals("30")){
    			HDeb ++;	
    			}
    		if (!(jourDeb.equals(jourFin))){
    		HDeb = 0;
    		}
    		return this.HDeb;
    	}
    
    	public void setCalculHDeb(int HDeb) {
    		this.HDeb = HDeb;
    	}
    
    	
    	public int getCalculHFin() {
    		
    		
    	String jourDeb = getDateDebut();	
    	String jourFin = getDateFin();
    		
    	String HRecup = getHeureFin().substring(0,2);	
    	String HRecupMin = getHeureFin().substring(3,5);
    	int HRecupConvert = Integer.parseInt(HRecup);
    
    	HFin = (HRecupConvert-5)*2;
    	if(HRecupMin.equals("30")){
    		HFin ++;	
    		}
    	if (!(jourDeb.equals(jourFin))){
    		HFin = 34;
    		}
    		return this.HFin;
    	}
    
    	public void setCalculHFin(int HFin) {
    		this.HFin = HFin;
    }
    


    Par contre il existe des réservations qui durent plusieurs jours et là c’est la grosse galère.

    J’ai essayé BETWEEN, equals(), mais sans succès du fait que je ne peux pas inventer les dates de début et de fin.

    En fait je cherche une méthode me permettant de dire, si la date consulté est située entre la date de début et la date de fin de la réservation N° xxx, alors Heure début = 0 et Heure Fin = 34.

    Et en plus mes dates ne sont pas typées « Date » mais « String », je ne vous raconte pas le mal de crâne.

    Si vous avez un conseil, une piste de recherche, des questions ou même une solution, c’est avec un grand plaisir.

    Merci par avance:)

    • Partager sur Facebook
    • Partager sur Twitter
    Lorsque l'on fait une recherche google, on tombe sur des forums qui nous disent de chercher sur google...
      31 mars 2015 à 19:17:03

      Utilise la classe LocalDate de java.time poour manipuler les dates, comme ça tu pourras calculer les différences entre deux dates, etc proprement et sans te prendre la date
      • Partager sur Facebook
      • Partager sur Twitter
        3 avril 2015 à 10:12:05

        Merci beaucoup TheDEMMON pour ta réponse :)

        J'ai bien regardé la doc, effectivement l'Api me parait bien pratique et beaucoup moins tortueux que les solutions existantes. Malheureusement java.time est spécifique au jdk 1.8 et il m'est impossible de changer toute l'infrastructure existante juste pour l'implémentation d'une fonctionnalité :)

        Donc finalement, je me retrouve toujours au même point....>_<

        Je cherche une fonction, une méthode ou tout simplement un miracle me permettant de dire à la base de données ou à ma Jsp :

        Dans mon arrayListe, pour un jour donné, affiche moi les réservations  soit qui commencent ce jour, soit qui finissent ce jour, soit dont la date de début est inférieur à ce jour, soit dont la date de fin est supérieur à ce jour.

        J'ai fais plusieurs essais avec before, after et compareTo, j'arrive à obtenir des résultats correctes mais sans jamais réussir à englober la totalité des cas possibles.

        Si vous avez une idée ou une recommandation, je suis preneur.

        Merci:)

        • Partager sur Facebook
        • Partager sur Twitter
        Lorsque l'on fait une recherche google, on tombe sur des forums qui nous disent de chercher sur google...
          3 avril 2015 à 11:06:22

          Bonjour,

          As-tu essayé la classe Calendar ?

          • Partager sur Facebook
          • Partager sur Twitter

          Vérification et comparaison de dates

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown