Convertir des secondes en heures HH:MM [Résolu]

Messages postés
97
Date d'inscription
mardi 19 mai 2015
Statut
Membre
Dernière intervention
7 février 2019
- - Dernière réponse : Whismeril
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 décembre 2019
- 11 sept. 2018 à 17:34
Bonjour à tous et toutes,

Je recherche une solution pour convertir un label qui contient un chiffre en seconde pour le passé au format hh:mm

En cherchant j'ai trouvé des choses intéressantes du côté du TimeSpan mais je n'arrive pas utiliser la structure, auriez-vous une idée ?

Merci par avance
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 décembre 2019
322
1
Merci
Bonjour

ou alors utiliser les outils de la framework
        Dim secondes As Integer = 4321
        Dim temps As TimeSpan = TimeSpan.FromSeconds(secondes)
        Dim hhmmss As String = temps.ToString()
        Dim hhmm As String = temps.ToString("hh\:mm")

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 209 internautes nous ont dit merci ce mois-ci

Whismeril
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 décembre 2019
322 -
Bien sûr pour les économes en ligne de codes
TimeSpan.FromSeconds(4321).ToString("hh\:mm")
jerlo11
Messages postés
97
Date d'inscription
mardi 19 mai 2015
Statut
Membre
Dernière intervention
7 février 2019
-
Merci pour vos retours, je privilégie effectivement la solution TimeSpan qui me plait bien et effectivement plus court ;)

Top !
Whismeril
Messages postés
14026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 décembre 2019
322 -
De rien
Commenter la réponse de Whismeril
Messages postés
6421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
5 décembre 2019
91
0
Merci
Bonjour,

Il y a des quantités de réponses sur le net. En voici une parmi tant d'autres:

https://codes-sources.commentcamarche.net/source/929-conversion-d-un-temps-en-secondes-au-format-hh-mm-ss
jerlo11
Messages postés
97
Date d'inscription
mardi 19 mai 2015
Statut
Membre
Dernière intervention
7 février 2019
-
J'ai testé cet exemple mais sans succès

Public Class Form1
Dim TempsTotal As Long 'TempsTotal est le temps en secondes
Dim Heures As Integer
Dim Minutes As Integer
Dim Secondes As Integer

Sub Conversion(TempsTotal)
TempsTotal = Txt_seconde.Text
Heures = Int(TempsTotal / 3600)
Minutes = Int((TempsTotal - 3600 * Heures) / 60)
Secondes = TempsTotal - 3600 * Heures - 60 * Minutes

Label1.Text = Format(Str(Heures + ":" + Minutes + ":" + Secondes))

End Sub


Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Conversion(TempsTotal)

End Sub
End Class



Une exception non gérée du type 'System.InvalidCastException' s'est produite dans Microsoft.VisualBasic.dll

Informations supplémentaires : La conversion de la chaîne ":" en type 'Double' n'est pas valide.
cs_Le Pivert
Messages postés
6421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
5 décembre 2019
91 -
comme ceci:

Option Strict On
Public Class Form1
    Dim Temps As Long 'TempsTotal est le temps en secondes
    Dim Heures As Integer
    Dim Minutes As Integer
    Dim Secondes As Integer
    Sub Conversion(ByVal TempsTotal As Long)
        Heures = CInt(Int(TempsTotal / 3600))
        Minutes = CInt(Int((TempsTotal - 3600 * Heures) / 60))
        Secondes = CInt(TempsTotal - 3600 * Heures - 60 * Minutes)
        Label1.Text = (Format(Heures & ":" & Minutes & ":" & Secondes)) 'là, on a le temps formaté hh:mm:ss
        'Format sert à afficher 2 chiffres pour les heures, les minutes et les secondes
        'Exemple: avec Format: 08:05:23
        '         sans Format: 8:5:23
    End Sub
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Temps = 12500
        Conversion(Temps)
    End Sub
End Class


voilà

@+ Le Pivert
Commenter la réponse de cs_Le Pivert