Convertir des secondes en heures HH:MM

Résolu
jerlo11 Messages postés 109 Date d'inscription mardi 19 mai 2015 Statut Membre Dernière intervention 17 novembre 2022 - 4 sept. 2018 à 15:32
Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 - 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
A voir également:

2 réponses

Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 655
4 sept. 2018 à 19:05
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")

1
Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 655
4 sept. 2018 à 19:06
Bien sûr pour les économes en ligne de codes
TimeSpan.FromSeconds(4321).ToString("hh\:mm")
0
jerlo11 Messages postés 109 Date d'inscription mardi 19 mai 2015 Statut Membre Dernière intervention 17 novembre 2022
11 sept. 2018 à 13:56
Merci pour vos retours, je privilégie effectivement la solution TimeSpan qui me plait bien et effectivement plus court ;)

Top !
0
Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 655
11 sept. 2018 à 17:34
De rien
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
4 sept. 2018 à 15:46
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
0
jerlo11 Messages postés 109 Date d'inscription mardi 19 mai 2015 Statut Membre Dernière intervention 17 novembre 2022
4 sept. 2018 à 16:24
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.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
4 sept. 2018 à 16:40
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
0
Rejoignez-nous