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 :

[Calendar] Obtenir le dernier jour de la semaine


Sujet :

Collection et Stream Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Points : 96
    Points
    96
    Par défaut [Calendar] Obtenir le dernier jour de la semaine
    Bonjour à tous,

    Je cherche a obtenir le premier et le dernier jour de la semaine d'une date donnée.

    Pour obtenir le premier et le dernier jour d'une année ou d'un mois pas de soucis.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cal.set(Calendar.MONTH, cal.getActualMinimum(Calendar.MONTH));
    cal.set(Calendar.MONTH, cal.getActualMaximum(Calendar.MONTH));
    Par contre impossible de faire la même chose pour la semaine, ma JRE ayant bien le local FR, mais bien que getFirstDayOfWeek retourne lundi,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cal.set(Calendar.DAY_OF_WEEK,cal.getActualMaximum(Calendar.DAY_OF_WEEK));
    me retourne systématiquement une date tombant un samedi car SATURDAY=7

    Et la je ne comprend pas. Est ce normal ? Est ce une mauvaise config de ma JRE (1.6.0.07) ? Dois je faire un cas spécifique pour obtenir le dernier jour de la semaine ?

    Merci d'avance pour vos eclaircissements

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Points : 562
    Points
    562
    Par défaut
    Bonjour,

    A mon avis avec joda time package tu trouveras plus facilement ce que tu cherchais:

    Premier jour/dernier jour de semaine avec une date donnee
    date.dayOfWeek().withMinimumValue();
    date.dayOfWeek().withMaximumValue();

    Premier jour/dernier jour du moisavec une date donnee
    date.dayOfMonth().withMinimumValue();
    date.dayOfMonth().withMaximumValue();

    Premier jour/dernier jour de l'annee avec une date donnee
    date.dayOfYear().withMinimumValue();
    date.dayOfYear().withMaximumValue();

  3. #3
    Membre régulier
    Inscrit en
    Avril 2009
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 133
    Points : 75
    Points
    75
    Par défaut
    J'ai trouvé ceci aussi sur internet mais je ne sais pas trop si c'est efficace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Calendar cld = Calendar.getInstance();
     cld.set(Calendar.DAY_OF_YEAR,1); //first day of the year.
     cld.add(Calendar.YEAR,1);
     cld.set(Calendar.DAY_OF_YEAR,1);
     cld.add(Calendar.YEAR,-1);   //last day of the year.
     cld.set(Calendar.DAY_OF_MONTH,1);  // 1st day of month.
     cld.add(Calendar.MONTH,1);
     cld.set(Calendar.DAY_OF_MONTH,1);
     cld.add(Calendar.DATE,-1);   // last day of month.
     cld.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY); //first day of week.
     cld.set(Calendar.DAY_OF_WEEK,Calendar.SATURDAY); //last day of week.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    alors, les max/min du day of week, ca donne juste les valeur numérique. Dans un calendar, les valeur vont de sunday (0) à saturday(7). Donc quand tu met le day of week à 7, tu le met à samedi.

Discussions similaires

  1. [PHP 5.3] Obtenir la date du premier + dernier jour de la semaine
    Par ciols dans le forum Langage
    Réponses: 1
    Dernier message: 27/01/2014, 15h04
  2. [Dates] Comment obtenir le premier jour d'une semaine ?
    Par damien.vinouze dans le forum Langage
    Réponses: 8
    Dernier message: 09/05/2007, 08h26
  3. Calendar : Récupérer le premier jour de la semaine
    Par Sinan dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 07/05/2007, 15h51
  4. Obtenir le dernier jour d'un mois (30,31,bisextile) ?
    Par Ekimasu dans le forum Général Python
    Réponses: 3
    Dernier message: 15/02/2007, 19h26
  5. Trouver le premier jour et dernier jour de la semaine
    Par kurkaine dans le forum C++Builder
    Réponses: 2
    Dernier message: 22/11/2006, 19h09

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