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 :

Calculer nombre de jours entre deux dates


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2011
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 31
    Par défaut Calculer nombre de jours entre deux dates
    J'ai besoin d'avoit le nombre de jours entre deux dates. Pour ceci j'ai procédé comme suit:

    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
     
    Calendar remindDate = Calendar.getInstance();
    remindDate.add(Calendar.DAY_OF_MONTH, 30); 
    // remindate est stocké quelque part et je la reccupére à chaque foi
     
    // puis je reccupére chaque jours la date d'aujourd'hui
     
    Calendar today = Calendar.getInstance();
            today.set(Calendar.HOUR, 0);
            today.set(Calendar.MINUTE, 0);
            today.set(Calendar.SECOND, 0);
            today.set(Calendar.MILLISECOND, 0);
     
    //puis La difference:
    nbDaysBeforeExpiration = (int) TimeUnit.MILLISECONDS.toDays(remindDate.getTimeInMillis()  -  today.getTimeInMillis());
    Si remind date est généré avant midi alors nbDaysBeforeExpiration=30
    sinn nbDaysBeforeExpiration=29

    C'est bloquant
    Quelqu un peut m'aider?

  2. #2
    Membre expérimenté Avatar de hbennou
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 162
    Par défaut
    Bonjour,

    Je pense qu'il faut initialiser les dates de la meme façon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Calendar remindDate = Calendar.getInstance();
    remindDate.add(Calendar.DAY_OF_MONTH, 30); 
    remindDate.set(Calendar.HOUR, 0);
    remindDate.set(Calendar.MINUTE, 0);
    remindDate.set(Calendar.SECOND, 0);
    remindDate.set(Calendar.MILLISECOND, 0);
    soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Calendar remindDate = Calendar.getInstance();
    remindDate.add(Calendar.DAY_OF_MONTH, 30); 
    // remindate est stocké quelque part et je la reccupére à chaque foi
    // puis je reccupére chaque jours la date d'aujourd'hui
    Calendar today = Calendar.getInstance();
    //puis La difference:
    int nbDaysBeforeExpiration = (int) TimeUnit.MILLISECONDS.toDays(remindDate.getTimeInMillis()  -  today.getTimeInMillis());

  3. #3
    Membre averti
    Inscrit en
    Février 2011
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 31
    Par défaut
    Avec la solution:

    alendar remindDate = Calendar.getInstance();
    remindDate.add(Calendar.DAY_OF_MONTH, 30);
    remindDate.set(Calendar.HOUR, 0);
    remindDate.set(Calendar.MINUTE, 0);
    remindDate.set(Calendar.SECOND, 0);
    remindDate.set(Calendar.MILLISECOND, 0);

    ça marche pas

    La deuxiéme je suis sur que ça marche pas

  4. #4
    Membre expérimenté Avatar de hbennou
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 162
    Par défaut
    Qu'est ce que tu attends comme resultat?

  5. #5
    Membre averti
    Inscrit en
    Février 2011
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 31
    Par défaut
    Je veux que la difference soit la meme que ce soit avant midi ou aprés midi

  6. #6
    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
    Timeunit n'est pas destiné à ce genre d'usage, donc ne mélange pas timeunit (qui sert à gros à passer à des méthode mettant des délais d'attente) avec l'api calendar, qui sert entre autres à gérer la calendrier grégorien (mais pas seulement).

    Il n'y a pas de solution vraiment facile à ton problème. 1 jour entre deux date, ça peux aussi bien être 5 secondes (avant et après minuit), que 45h (même chose dans l'autre sens). La solution la plus propre selon moi:

    tu crée deux calendar
    tu met leur heur/minute/seconde/millièmes à 0
    ensuite tu incrémente en boucle le plus petit de 1 jour à la fois (Calendar.add()) jusqu'à ce qu'il ne soit plus inférieur (Calendar.before()) et tu comtpe ta boucle.

Discussions similaires

  1. calcul nombre de jours entre deux dates
    Par charlene44 dans le forum Langage
    Réponses: 7
    Dernier message: 21/08/2012, 14h06
  2. Comment calculer le nombre de jours entre deux dates
    Par pierrot10 dans le forum Langage
    Réponses: 8
    Dernier message: 22/06/2011, 08h38
  3. Calculer le nombre de jours entre deux dates
    Par titoumimi dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 0
    Dernier message: 14/02/2011, 19h07
  4. [VxiR2] Calcul du nombre de jours entre deux dates
    Par PATRICIA02 dans le forum Webi
    Réponses: 4
    Dernier message: 23/07/2009, 12h43
  5. calcule du nombre de jours entre deux date
    Par chalcol dans le forum Oracle
    Réponses: 3
    Dernier message: 23/03/2009, 16h36

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