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

Struts 1 Java Discussion :

nombre de jour entre deux timestamp


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2002
    Messages : 141
    Par défaut nombre de jour entre deux timestamp
    bonjour,
    comment calculer le nombre de jour entre deux timestamp
    merci...

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Timestamp timeStamp1 // déjà initialisé
    Timestamp timeStamp2 // déjà initialisé
    long millisDifference; // le long ou tu met la différence en millisecondes
    if(timeStamp1 .compareTo(timeStamp2)>=0){
    millisDifference = timeStamp1.getTime() - timeStamp2 .getTime();
    }
    else{
    millisDifference = timeStamp2.getTime() - timeStamp1 .getTime();
    }
    La tu as en millisecondes la différence entre tes deux timestamp....
    Ca te fait déjà une tite piste....

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Donc tu divises par (1000 * 3600 * 24)

    Au passage, si tu cherches la valeur absolue de ta différence, autant utiliser la méthode prévue pour, Math.abs(), plutôt qu'un if lourd.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2002
    Messages : 141
    Par défaut
    j'ai reussi a ecrire une fonction qui retourne le nombre de jour entre deux timestamp dont le code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        public static Long diffDate(Timestamp timeStamp1,Timestamp timeStamp2) throws Exception {
            long jourDifference;
            Calendar calendarDateDebut = Calendar.getInstance();
            Calendar calendarDateFin = Calendar.getInstance();
            calendarDateDebut.setTime(timeStamp1);
            calendarDateFin.setTime(timeStamp2);
            if(timeStamp1 .compareTo(timeStamp2)>=0){
                jourDifference =  calendarDateDebut.get(Calendar.DAY_OF_YEAR) - calendarDateFin.get(Calendar.DAY_OF_YEAR);
            } else {
                jourDifference =  calendarDateFin.get(Calendar.DAY_OF_YEAR) - calendarDateDebut.get(Calendar.DAY_OF_YEAR);
            }
            return jourDifference;
        }

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    C'est pas très gentil ça de ne pas suivre les conseils des gens
    Je propose cette méthode alternative :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public static Long diffDate(Timestamp timeStamp1,Timestamp timeStamp2) throws Exception {
    	long nbMilliSec = timeStamp2.getTime() - timeStamp1.getTime();
    	double nbJours = ((double)nbMilliSec) / (1000 * 3600 * 24);
    	return Math.abs(Math.round(nbJours));
    }

  6. #6
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 65
    Par défaut
    Citation Envoyé par osman.amine
    j'ai reussi a ecrire une fonction qui retourne le nombre de jour entre deux timestamp dont le code est le suivant:
    Ta fonction ne renverra pas le résultat attendu dans tous les cas.

    Par exemple pour date1 = 31/12/2007 et date2 = 01/01/2008, le résultat attendu est 1 jour. Or date1.get(Calendar.DAY_OF_YEAR) = 365 et date2.get(Calendar.DAY_OF_YEAR)= 1,
    Date2>date1 donc ta fonction renvoie 1-365 = -364 ...

    La fonction de mixouille est à la fois, plus concise et renvoie le résultat correct...

    Sinon il existe une bibliothèque spécialisée : joda time ( http://joda-time.sourceforge.net/ ) qui permet une gestion des différentes notions associées au temps en java.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2002
    Messages : 141
    Par défaut
    bonjour,
    merci pour vos message. je les accepte avec tout mon coeur.
    voila la dernière version de ma fonction.
    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 Long diffDate(Timestamp timeStamp1,Timestamp timeStamp2) throws Exception {
            long jourDifference = 0;
            if((timeStamp1 != null) && (timeStamp2 != null)){
            Calendar calendarDateDebut = Calendar.getInstance();
            Calendar calendarDateFin = Calendar.getInstance();
            calendarDateDebut.setTime(timeStamp1);
            calendarDateFin.setTime(timeStamp2);
            if(timeStamp1 .compareTo(timeStamp2)>=0){
                jourDifference =  (calendarDateDebut.get(Calendar.DAY_OF_YEAR) + (calendarDateDebut.get(Calendar.YEAR) * 365)) - (calendarDateFin.get(Calendar.DAY_OF_YEAR) + (calendarDateFin.get(Calendar.YEAR) * 365));
            } else {
                jourDifference =  (calendarDateFin.get(Calendar.DAY_OF_YEAR) + (calendarDateFin.get(Calendar.YEAR) * 365)) - (calendarDateDebut.get(Calendar.DAY_OF_YEAR) + (calendarDateDebut.get(Calendar.YEAR) * 365));
            }
            }
            return jourDifference;
        }

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : Tunisie

    Informations forums :
    Inscription : Août 2002
    Messages : 141
    Par défaut
    Citation Envoyé par mixouille
    C'est pas très gentil ça de ne pas suivre les conseils des gens
    Je propose cette méthode alternative :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public static Long diffDate(Timestamp timeStamp1,Timestamp timeStamp2) throws Exception {
    	long nbMilliSec = timeStamp2.getTime() - timeStamp1.getTime();
    	double nbJours = ((double)nbMilliSec) / (1000 * 3600 * 24);
    	return Math.abs(Math.round(nbJours));
    }
    merci infinément...
    je vien d'appliquer ta fonction qui est plus exacte que la mienne.
    c'est l'avantage du traval en collaboration.

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

Discussions similaires

  1. Calculer le nombre de jours entre deux timestamp
    Par davtypo3 dans le forum Requêtes
    Réponses: 0
    Dernier message: 26/03/2014, 09h38
  2. [MS-DOS] Compter les nombres de jours entre deux dates diffé
    Par Furius dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 19/02/2006, 13h33
  3. nombre de jours entre deux date
    Par mzt.insat dans le forum Langage
    Réponses: 13
    Dernier message: 01/02/2006, 10h34
  4. [Dates] Nombre de jours entre deux dates
    Par cmoiscrat dans le forum Langage
    Réponses: 3
    Dernier message: 22/09/2005, 15h25
  5. Comment obtenir le nombre de jours entre deux timedatepicker
    Par bertrand_declerck dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/08/2005, 11h59

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