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 :

API gestion de dates et période


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 51
    Points : 43
    Points
    43
    Par défaut API gestion de dates et période
    Bonjour à tous.

    Je voudrais savoir s'il y a déjà un api pour la manipulation d'une période (entre deux dates). J'ai besoin de savoir si :

    -deux périodes se chevauchent ou non.
    -connaître le nombre des jours ouvrables et des week end dans une période.
    -avoir un iterator pour itérer les jours dans la période.

    Merci d'avance et A+

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par ran_hery
    Je voudrais savoir s'il y a déjà un api pour la manipulation d'une période (entre deux dates).
    Il n'y a pas d'API particulière pour cela mais ce ne doit pas être bien compliqué à codé, que ce soit en utilisant directement le type long représentant la date...

    Citation Envoyé par ran_hery
    -deux périodes se chevauchent ou non.
    Il suffit de vérifier que ni le début ni la fin de la seconde période ne sont pas compris entre le début et la fin de la seconde...

    Par exemple si ta classe période possède des attributs begin et end (de type long) pour représenter les deux dates aux extrémitées de ta période, il suffit de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return (other.end < this.begin || other.begin > this.end);
    Citation Envoyé par ran_hery
    -connaître le nombre des jours ouvrables et des week end dans une période.
    Il suffit de parcourir tous les jours de la période et vérifier s'ils sont ouvrable ou pas (selon tes critères)...


    Citation Envoyé par ran_hery
    -avoir un iterator pour itérer les jours dans la période.
    Il suffit de créer une classe qui implémente Iterator et qui incrémente un Calendar en interne, par exemple :
    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
    class PeriodeIterator implements Iterator<Calendar> {
     
        private final Calendar cal;
        private final long end; 
     
        PeriodeIterator(long begin, long end) {
            this.cal = Calendar.getInstance();
            this.cal.setTimeInMillis( begin );
            this.end = end;
        }
     
        public boolean hasNext() {
            return (this.cal.getTimeInMillis() < this.end);
        }
     
        public Calendar next() {
            if ( hasNext() ) {
                Calendar result = (Calendar)cal.clone();
                this.cal.add(Calendar.DATE, 1);
                return result;
            }
            throw new NoSuchElementException("end of periode");
        }
     
        public void remove() {
            throw new UnsupportedOperationException("remove()");
        }
    }
    a++

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 51
    Points : 43
    Points
    43
    Par défaut
    OK!!!

    Merci pour le code. J'ai déjà développé un pakage comme ceci mais la date que j'ai considéré était au format dd-MM-yyyy. Difficile pour l'écriture du code. J'ai déjà changé en type long et ça marche maintenant.

    Merci beaucoup.

    A+

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

Discussions similaires

  1. gestion de date de fin de mois
    Par bzh56 dans le forum Bases de données
    Réponses: 4
    Dernier message: 14/01/2005, 10h15
  2. Réponses: 3
    Dernier message: 13/08/2004, 18h52
  3. [MCD] Gestion de date
    Par Seb7 dans le forum Schéma
    Réponses: 13
    Dernier message: 08/09/2003, 09h29
  4. [MCD] [MCD] Gestion des dates
    Par brionne dans le forum Schéma
    Réponses: 3
    Dernier message: 30/05/2003, 13h01
  5. [BEST_PRACTICE][Merise] MCD & gestion de date
    Par Seb7 dans le forum Schéma
    Réponses: 4
    Dernier message: 16/04/2003, 17h07

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