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

Java Discussion :

Boucler sur un format Heure


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 26
    Par défaut Boucler sur un format Heure
    Bonjour,

    Je sollicite votre aide car j'aurai besoin d'afficher l'heure selon un pas particulier.

    exemple il faudrait que je récupère l'heure par pas de 15 min (ou autre) entre 6h00 et 20H ( ou autre plage).

    De manière à avoir :

    6H00
    6H15
    6H30
    6H45
    7H00
    7H15
    ...
    20H00

    Et tout cela avec une boucle...

    J'ai essayer de décomposer le format heure en 4 variables.
    ABHCD
    A,B,C,D étant des entiers.

    Et de faire un While comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    while(A==2 && B==0 && C==0 && D==0){
    // Après chaud pour trouver l'algo, j'ai essayer mais j'arrive pas à voir comment je pourrais faire... 
    }
    Merci de votre aide.

  2. #2
    Membre expérimenté Avatar de Mamypirate
    Homme Profil pro
    Samouraï
    Inscrit en
    Mai 2011
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Samouraï
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2011
    Messages : 108
    Par défaut
    Tu peux essayer ceci :

    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
    int heureDeb = 6;		//heures depart
    int minuteDeb = 0;		//minutes debut
    int diffFinDeb = 14*60;	//différence en minute entre le début et la fin
    int interval = 15;		//interval en minute
     
    SimpleDateFormat formatDate = new SimpleDateFormat("HH:mm");	//format de la date
     
    GregorianCalendar deb = new GregorianCalendar();
    if(heureDeb > 11)	//gestion AM PM
    	deb.set(GregorianCalendar.AM_PM, GregorianCalendar.PM);
    else
    	deb.set(GregorianCalendar.AM_PM, GregorianCalendar.AM);
    deb.set(GregorianCalendar.HOUR, heureDeb%12);
    deb.set(GregorianCalendar.MINUTE, minuteDeb);				
     
    GregorianCalendar fin = (GregorianCalendar) deb.clone();
    fin.set(GregorianCalendar.MINUTE, diffFinDeb);
     
    System.out.println(formatDate.format(deb.getTime()));
     
    while(deb.compareTo(fin) < 0) {
    	deb.add(GregorianCalendar.MINUTE, interval);
    	System.out.println(formatDate.format(deb.getTime()));
    }
    Bon courage !

  3. #3
    Membre expérimenté
    Avatar de l4r3nZu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2010
    Messages : 154
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    DateFormat dateFormatH = new SimpleDateFormat('hh);
    DateFormat dateFormatM = new SimpleDateFormat('mm);
    if(dateFormatM.format(new Date).equals(00) || dateFormatM.format(new Date).equals(15) || 30 et 45 )
    {
    System.out.println( dateFormatH.format(newDate) + "H" + dateFormatM.format(newDate) ;
     
    }

  4. #4
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Tant qu'on en est à proposer des solutions diverses
    (Pour être plus précis faudra savoir dans quelles condition tu veux le générer)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public List<Calendar> generateSteps (final Calendar debut, final Calendar fin){
       List<Calendar> result = new ArrayList<Calendar>();
       Calendar step = (Calendar)debut.clone();
       int minutes = step.get(Calendar.MINUTES);
       step.add(Calendar.MINUTES,(15-minutes%15)); // arrondi à 15aine supérieure
       // on est calé sur le quart d'heure
       while (step.before(fin)){
          result.add((Calendar)step.clone()); // on stocke
          step.add(Calendar.MINUTES,15); // on avance
       }
       return result;
    }

Discussions similaires

  1. Isoler l'heure sur un Champ Heure au format hhmmss en SQL
    Par julbar dans le forum Langage SQL
    Réponses: 6
    Dernier message: 26/05/2011, 12h06
  2. Somme sur format heure
    Par macat dans le forum Excel
    Réponses: 5
    Dernier message: 05/05/2008, 16h59
  3. Erreur sur format heure sur xlsDonne
    Par NOLOPAK dans le forum WinDev
    Réponses: 3
    Dernier message: 18/04/2008, 16h08
  4. Format heure sur état
    Par Evrard KADJO-THOKOUT dans le forum IHM
    Réponses: 2
    Dernier message: 25/08/2006, 15h48
  5. [sql server] requête sur dates et heures (format du résultat
    Par isachat666 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 21/02/2006, 13h48

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