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

VB.NET Discussion :

[TIME] Afficher un intervale de temps.


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Par défaut [TIME] Afficher un intervale de temps.
    Bonjour,

    Je suis en train d'essayer de récupérer un intervalle de temps entre 2 dates de type :

    HH:MM:SS

    J'ai essayé ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    date1 = Convert.ToDateTime(rdrVsd.GetValue(1))
    date2 = Convert.ToDateTime(rdrVsd.GetValue(2))
     
    interval = date1 - date2
    Avec temps de type TimeSpan.

    Mais quand je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MessageBox.Show(interval)
    ça me dis :

    Erreur 3 Une valeur de type 'System.TimeSpan' ne peut pas être convertie en 'String'. C:\Documents and Settings\Administrateur\Mes documents\Visual Studio 2005\Projects\TDB\TDB\TEST.vb 53 25 TDB
    Pouvez vous m'aider?

    Merci,

    .Matt

  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    Salut,

    Peux-être trouveras-tu une réponse ici : http://sqlpro.developpez.com/cours/gestiontemps/

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageBox.Show(interval.ToString("hh:mm.ss"))
    Ne fonctionne pas ?

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageBox.Show(interval.ToString("hh:mm.ss"))

    Voici le message qui m'affiche :

    Erreur 2 La résolution de surcharge a échoué, car aucun 'ToString' accessible n'accepte ce nombre d'arguments. C:\Documents and Settings\Administrateur\Mes documents\Visual Studio 2005\Projects\TDB\TDB\TEST.vb 54 25 TDB

    De plus par rapport à ma valeur de temps je veux que ce soit heure minute seconde car je compte plus tard créer des graphiques de performance avec Crystal Report sur ces valeurs.

    Il me faut en fait le meilleur type de valeur pour cet intervalle.

    Que me conseillez vous?


    Merci d'avance,

    .Matt

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Sorry, c'est ToString() tout court et ça renvoit ce que tu cherches.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 206
    Par défaut
    Bonjour,
    Il est possible de faire un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    date1 = Convert.ToDateTime(rdrVsd.GetValue(1))
    date2 = Convert.ToDateTime(rdrVsd.GetValue(2))
    dim diff as long = DateDiff(DateInterval.Second, date1, date2)
    diff t'est donné en seconde, tu n'as qu'a convertir en heure, minutes, secondes...
    Voici une solution comme d'autre.

  7. #7
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Citation Envoyé par Sergejack Voir le message
    Sorry, c'est ToString() tout court et ça renvoit ce que tu cherches.
    C'est juste le paramètre .ss qui est de trop avec .ToString("hh:mm") sa va marcher.
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  8. #8
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Citation Envoyé par GarsDuCalvados Voir le message
    Erreur 2 La résolution de surcharge a échoué, car aucun 'ToString' accessible n'accepte ce nombre d'arguments. C:\Documents and Settings\Administrateur\Mes documents\Visual Studio 2005\Projects\TDB\TDB\TEST.vb 54 25 TDB
    ca veux donc dire qu'il n'existe pas de toString surchargé pour le TimeSpan, donc que l'on mette .ToString("hh:mm.ss") ou .ToString("hh:mm") l'erreur sera la même vu que le nombre et le type d'argument est le même...

    Il te faut donc faire comme Sergejack à dit, un simple toString() ou t'amuser à composer toi même le champs du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox(interval.Hours & ":" & interval.Minutes & ":" & interval.Seconds)

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Le plus souple pourrait être pour toi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DateTime dt = new DateTime(1,1,1) + DateInterval;
     
    ...dt.ToString("HH:mm")...
    à la condition que ton interval de temps ne dépasse pas les 24h.

  10. #10
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Citation Envoyé par Sankasssss Voir le message
    ca veux donc dire qu'il n'existe pas de toString surchargé pour le TimeSpan, donc que l'on mette .ToString("hh:mm.ss") ou .ToString("hh:mm") l'erreur sera la même vu que le nombre et le type d'argument est le même...
    avec .ToString("hh:mm") sa marche
    je te renvoie a cet article
    http://plasserre.developpez.com/v4-5.htm
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

Discussions similaires

  1. [XL-2013] Afficher une ligne par jour à partir d'intervalles de temps
    Par mathilde.g dans le forum Excel
    Réponses: 3
    Dernier message: 27/12/2013, 01h03
  2. Réponses: 1
    Dernier message: 04/04/2013, 10h37
  3. [debutant] Récupérer un intervalle de temps
    Par xlurp dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 28/10/2004, 15h48
  4. [Interbase 6]Stocker l'intervalle de temps
    Par Andry dans le forum InterBase
    Réponses: 4
    Dernier message: 11/08/2004, 07h48
  5. [Timer]Comment mesurer un intervalle de temps ?
    Par Pill_S dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 07/05/2004, 17h39

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