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

Framework .NET Discussion :

[Framework 2.0/VB.Net] Comment afficher un format 'HH:mm' supérieur à 24H ?


Sujet :

Framework .NET

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 66
    Points
    66
    Par défaut [Framework 2.0/VB.Net] Comment afficher un format 'HH:mm' supérieur à 24H ?
    Bonjour,

    Je souhaiterais pouvoir afficher une durée, (par exemple 25 heures et 36 minutes) sous un format style "HH:mm". J'arrive à mettre correctement ceci dans un timestamp, le convertir en date, mais le format spécifié pour les heures est toujours sur 24h.

    J'ai résolu mon problème en le contournant, mais je voulais savoir s'il n'existait pas dans le framework une fonction permettant de réaliser ceci ?

    J'utilise le framework 2.0 avec VB.Net

    Merci

  2. #2
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    La structure TimeSpan possède une propriété TotalHours, cela devrait pouvoir t'aider

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 66
    Points
    66
    Par défaut
    Oui OK c'est comme ça que j'ai détourner le problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Function GetHoursAsString(ByVal Minute As Integer) As String 
     
          Dim myTimeSpan As New TimeSpan(0, Minute, 0)
     
          Dim nbHours As Int32 = CInt(myTimeSpan.TotalHours)
     
          Return IIf(nbHours < 10, "0", "").ToString & nbHours.ToString & ":" & IIf(myTimeSpan.Minutes < 10, "0", "").ToString & myTimeSpan.Minutes.ToString
     
        End Function
    Mais voila je voulais savoir s'il existe une méthode pour faire ceci directement. Exemple un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myTimeSpan.ToString("HH:mm")
    Mais peut être que ça n'existe pas ?

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par noirot Voir le message
    Mais voila je voulais savoir s'il existe une méthode pour faire ceci directement. Exemple un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myTimeSpan.ToString("HH:mm")
    Mais peut être que ça n'existe pas ?
    Ce genre de syntaxe fonctionne pour les DateTime alors tu as essayé pour les TimeSpan ? Si cela se trouve, cela fonctionne aussi

  5. #5
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Directement ce n'est pas possible. De plus la méthode ToString d'un TimeSpan ne permet pas de faire de formatage.

    Mais vu le code, un TimeSpan ne sert pas à grand chose, avec des opérations de base (modulo et division) on fait pareil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int heure = (int)(minute / 60.0);
    int minuteRestante = minute % 60;
    C'est du C#, mais facile à transcrire je pense

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par Thomas Lebrun Voir le message
    Ce genre de syntaxe fonctionne pour les DateTime alors tu as essayé pour les TimeSpan ? Si cela se trouve, cela fonctionne aussi
    Non jsutement ca ne fonctionne pas ... (réponse de StormimOn)

    Citation Envoyé par StormimOn Voir le message
    Mais vu le code, un TimeSpan ne sert pas à grand chose, avec des opérations de base (modulo et division) on fait pareil
    Mon but d'utilisation du TimeSpan était de pouvoir faire une translation directe avec le formatage voulu ... apparemment c'est pas possible c'est dommage. Enfin pour vos réponses rapides.

    Je laisse le topic ouvert encore un peu si quelqu'un a déjà eu ce problème et je fermerais plus tard.

  7. #7
    Membre chevronné
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Points : 1 839
    Points
    1 839
    Billets dans le blog
    2
    Par défaut
    Mais voila je voulais savoir s'il existe une méthode pour faire ceci directement. Exemple un
    Code :Sélectionner tout - Visualiser dans une fenêtre à part myTimeSpan.ToString("HH:mm")
    Je viens de tomber sur ce post, ayant eu le même besoin, voici comment je l'ai résolu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tim.ToString("hh") & ":" & tim.ToString("mm")
    Si tu repasse dessus (2008 oups ça fait longtemps) et que ça ésolu ton problème (lol) tu peux clore la conversation

Discussions similaires

  1. [Report Manager][.NET]Comment afficher ou imprimer un état déjà enregistré
    Par FRED.G dans le forum Autres outils décisionnels
    Réponses: 5
    Dernier message: 24/10/2018, 10h51
  2. Réponses: 5
    Dernier message: 24/06/2006, 17h30
  3. Réponses: 6
    Dernier message: 19/05/2006, 14h22
  4. Réponses: 8
    Dernier message: 18/05/2006, 15h30
  5. [VB.NET]Comment afficher 1 progressbar lors d'une lecture fichier ?
    Par evlp2004@hotmail.com dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/05/2006, 09h00

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