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

avec Java Discussion :

ne récupère pas le bon numéro de semaine


Sujet :

avec Java

  1. #21
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    Merci pour toutes ces réponses

    Je ne connais pas joda-time, je vais jetter un oeil.

    Ils vont passer à la version 1.5 dans 1 an et demi.......j'ai encore le temps de galérer.


    Merci de l'aide apportée

  2. #22
    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 : 44
    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 807
    Points
    48 807
    Par défaut
    suite (houlà, j'ai honte)

    bon d'abord, pas de merdage bisextile, j'ai oublié le 23 février

    ensuite, il semble que ton problème soit du au minimaldayinfirstweek. Par défaut il vaut 1 sur jre 1.4_19, et 4 sur jre 1.4_04, le tout pour la locale francaise. Si je suis tes messages, une semaine commence un lundi et doit compter 7 jours pour être comptée? Dans ce cas rajouter ta règle:

    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
    public static void getWeek(String dateString) {
    	    try {
    	        SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd",Locale.FRANCE);
     
    	        formatter.setTimeZone(TimeZone.getTimeZone("Europe/Brussels"));
    	        formatter.setLenient(false);
    	        Date d = formatter.parse(dateString);	        
    	        Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Europe/Brussels"),Locale.FRANCE);
    	        c.setTime(d);
    	        c.setMinimalDaysInFirstWeek(7);
    	        c.setFirstDayOfWeek(Calendar.MONDAY);
    	        System.out.println(dateString+": semaine "+c.get(Calendar.WEEK_OF_YEAR)+" jour "+c.get(Calendar.DAY_OF_WEEK)+" semaine minimale: "+c.getMinimalDaysInFirstWeek()+ " premier jour "+c.getFirstDayOfWeek());
    	    } catch (Exception e) {
    	    }
    	}
    j'obtiens alors ceci pour toutes les version de java (plus de différence)
    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
    2004/01/01: semaine 52 jour 5 semaine minimale: 7 premier jour 2
    2004/01/05: semaine 1 jour 2 semaine minimale: 7 premier jour 2
    2004/01/12: semaine 2 jour 2 semaine minimale: 7 premier jour 2
    2004/01/19: semaine 3 jour 2 semaine minimale: 7 premier jour 2
    2004/01/26: semaine 4 jour 2 semaine minimale: 7 premier jour 2
    2004/02/02: semaine 5 jour 2 semaine minimale: 7 premier jour 2
    2004/02/09: semaine 6 jour 2 semaine minimale: 7 premier jour 2
    2004/02/16: semaine 7 jour 2 semaine minimale: 7 premier jour 2
    2004/02/23: semaine 8 jour 2 semaine minimale: 7 premier jour 2
    2004/03/01: semaine 9 jour 2 semaine minimale: 7 premier jour 2
    2004/03/08: semaine 10 jour 2 semaine minimale: 7 premier jour 2
    2004/03/15: semaine 11 jour 2 semaine minimale: 7 premier jour 2
    2010/01/01: semaine 52 jour 6 semaine minimale: 7 premier jour 2
    2010/01/04: semaine 1 jour 2 semaine minimale: 7 premier jour 2
    2010/01/11: semaine 2 jour 2 semaine minimale: 7 premier jour 2
    2010/01/18: semaine 3 jour 2 semaine minimale: 7 premier jour 2
    2010/01/25: semaine 4 jour 2 semaine minimale: 7 premier jour 2
    2010/02/01: semaine 5 jour 2 semaine minimale: 7 premier jour 2
    2010/02/08: semaine 6 jour 2 semaine minimale: 7 premier jour 2
    2010/02/15: semaine 7 jour 2 semaine minimale: 7 premier jour 2
    2010/02/22: semaine 8 jour 2 semaine minimale: 7 premier jour 2
    2010/03/01: semaine 9 jour 2 semaine minimale: 7 premier jour 2
    2010/03/08: semaine 10 jour 2 semaine minimale: 7 premier jour 2
    2010/03/15: semaine 11 jour 2 semaine minimale: 7 premier jour 2

  3. #23
    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 : 44
    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 807
    Points
    48 807
    Par défaut
    Citation Envoyé par ballantine's Voir le message

    Ils vont passer à la version 1.5 dans 1 an et demi.......j'ai encore le temps de galérer.
    ... 1 an et demi, ca nous amène en septembre 2011.

    Il feraient mieux de zapper directement à la java 7.

    java 1.5 est en "end of life" (c'est à dire plus de mises à jour, même pour les bugs) depuis le 3 novembre 2009. le java 1.6 sera en fin de vie (plus de mise à jour des bug même critique donc) fin 2011. Vous alleza passer à java 1.5 alors que java 6 ne sera plus supporté. Ils sont à la ramasse chez toi Ils aiment vivre dangereusement avec des jvm non garanties (sauf si ils paient en buisnesss family, là ils ont le support java 5 jusque 2014 (ouf, 3 ans de support :s)

  4. #24
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    ça sert à rien d'avoir honte tu m'as bien aidé, c'est plutot moi quand je vois l'état du système là où je suis...

    Je teste tout cela lundi et te tiens au courant

    Merci beaucoup

  5. #25
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    suite (houlà, j'ai honte)



    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
    public static void getWeek(String dateString) {
    	    try {
    	        SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd",Locale.FRANCE);
     
    	        formatter.setTimeZone(TimeZone.getTimeZone("Europe/Brussels"));
    	        formatter.setLenient(false);
    	        Date d = formatter.parse(dateString);	        
    	        Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Europe/Brussels"),Locale.FRANCE);
    	        c.setTime(d);
    	        c.setMinimalDaysInFirstWeek(7);
    	        c.setFirstDayOfWeek(Calendar.MONDAY);
    	        System.out.println(dateString+": semaine "+c.get(Calendar.WEEK_OF_YEAR)+" jour "+c.get(Calendar.DAY_OF_WEEK)+" semaine minimale: "+c.getMinimalDaysInFirstWeek()+ " premier jour "+c.getFirstDayOfWeek());
    	    } catch (Exception e) {
    	    }
    	}
    j'ai légèrement modifié le code que tu m'as donné :

    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
     
    	public static int getWeek(String dateString) {
    	    try {
    	        SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd",Locale.FRANCE);
     
    	        formatter.setTimeZone(TimeZone.getTimeZone("Europe/Brussels"));
    	        formatter.setLenient(false);
    	        Date d = formatter.parse(dateString);	        
    	        Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Europe/Brussels"),Locale.FRANCE);
    	        c.setTime(d);
    	        c.setMinimalDaysInFirstWeek(7);
    	        c.setFirstDayOfWeek(Calendar.MONDAY);
    	        //System.out.println(dateString+": semaine "+c.get(Calendar.WEEK_OF_YEAR)+" jour "+c.get(Calendar.DAY_OF_WEEK)+" semaine minimale: "+c.getMinimalDaysInFirstWeek()+ " premier jour "+c.getFirstDayOfWeek());
    	        return c.get(Calendar.WEEK_OF_YEAR);
    	    } catch (Exception e) {
    			return -1;
    	    }
     
    	}
    et je récupère le bon numéro de semaine

    Merci beaucoup de l'aide apportée j'aurais cherché longtemps sans ce coup de pouce

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Crystal] transformation d'une date en numéro de semaine
    Par barna dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 24/03/2017, 09h41
  2. [C#] Comment récupérer le numéro de semaine d'une date ?
    Par farfadet dans le forum Windows Forms
    Réponses: 9
    Dernier message: 17/07/2013, 16h33
  3. Réponses: 4
    Dernier message: 09/10/2007, 14h09
  4. [Calendar] Problème de numéro de semaine de l'année
    Par gaia_dev dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 29/11/2004, 11h44
  5. Calcul des numéros de semaine d'un calendrier
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 06/11/2002, 21h29

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