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

Android Discussion :

Calculer différence entre deux valeurs de type temp


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Par défaut Calculer différence entre deux valeurs de type temp
    Bonjour a tous

    je suis entrain de programmé une application de transport en commun

    j'ai récupérer depuis ma base de donnée externe deux valeur de type temps seulement en Java je les ai déclarer type String

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     public void onResponse(String response) {
     
                            try {
     
                                JSONObject jsonObj = new JSONObject(response);
                                JSONArray jsonArray = jsonObj.getJSONArray("trainhor");
     
     
     
                                for (int i = 0; i < jsonArray.length(); i++) {
                                    jresponse2 = jsonArray.getJSONObject(i);
                                 String  heureC = jresponse2.getString("HeureC");
                                   String heureA =jresponse2.getString("HeureA");
                                   String etat = jresponse2.getString("etat") ;

    et ça fonctionne l'heure s'affiche , ce que je veux faire c'est de calculer la différence de temps entre ces deux valeur en minute ou bien en heure
    quelqu'un aurait une idée SVP ?

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Ça dépend de ce qu'il y a dans tes propriétés HeureA et HeureC. Parce qu'elles ne sont pas de type "temps" mais String. On peut donc y mettre un peu près n'importe quelle forme de représentation de temps (un nombre, un nombre accompagné d'une unité, une heure au format ISO, une date et une heure dans un autre format, même un texte qui représentent une durée (genre "un bail", "une plombe", etc.).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Par défaut
    Bonjour Joel

    voila comment j'ai procéder
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "select HeureC,HeureA,etat,CONCAT(MOD(HOUR(TIMEDIFF(HeureA, HeureC)), 24), ' Heure ',
    MINUTE(TIMEDIFF(HeureA,HeureC)), ' minutes') AS td from trainhor
    et voila ce que j'ai comme résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"trainhor":[{"HeureC":"11:25:00","HeureA":"11:46:00","etat":"on","td":"0 Heure 21 minutes"}
    c'est possible d'afficher juste les minutes ? si le retard est moins d'une heure ,


    au niveau du code java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
                                    if(heureC.equals(heureA) && etat.equals("on")){
                                        r.add(heureC);
                                    }
     
                                    else if (!heureC.equals(heureA) && etat.equals("on")){
     
                                        String b = " \n retard de :" ;
                                        r.add(heureC + b + td);
     
                                    }
    je veux ajouter une condition : si heure A est inférieur a heure du jour en restant dans le même jour ! comment dois je faire ?

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Ça ne répond pas exactement à ma question, sauf si je devine que tu est sous MySQL et que tes champs sont de type time. Pour la partie SQL/MySQL, je laisse le soin de ceux qui s'y connaissent de fournir une requête possible en réponse. En Java, tu peux récupérer directement les valeurs de champs (donc sans avoir à faire de calcul dans la requête) directement en java.sql.Time, puis de les convertir en LocalTime (méthode Time.toLocalTime()), ce qui te permet, soit de calculer la durée en minutes entre les deux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Duration duration = Duration.between(heureC.toLocalTime(), heureA.toLocalTime());
    long minutes = duration.toMinutes();
    soit de les comparer, avec la méthode de LocalTime qui te convient parmi compareTo(), isAfter() ou isBefore().
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Par défaut
    maintenat que j'ai récupérer les valeurs en String "HeureC' , je fais comment pour la comparer avec l'heure et le jour actuel ?

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Je t'ai dit qu'il valait mieux les récupérer en java.sql.Time, mais à partir de String, tu peux les convertir en LocalTime,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LocalTime timeC = LocalTime.parse(heureC, DateTimeFormatter.ofPattern("HH:mm:ss"))
    et les comparer (à LocalTime.now(), l'heure actuelle).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/07/2014, 15h49
  2. Réponses: 7
    Dernier message: 29/11/2010, 12h26
  3. Calcul différence entre deux dates
    Par ouinih dans le forum PL/SQL
    Réponses: 1
    Dernier message: 31/12/2008, 18h53
  4. Différence entre deux valeurs
    Par guichoux dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/05/2008, 16h47
  5. Réponses: 2
    Dernier message: 13/03/2007, 16h57

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