Convertir une durée exprimée en secondes en heure, minute, seconde

Résolu
Bonjour,
En javascript, j'ai une durée de 10048.608 secondes.
Je voudrais la convertir en heure, minute et seconde,
le résultat devrait être 2:47:28.
J'arrive à obtenir 2 heures, 47 minutes. Je bloque sur les secondes.
Voici un extrait de mon code:
length = audio.duration; // 10048.608
minute = lenght / 60; // 167.4768 secondes
heure  = minute / 60; // 2 heures
minute = minute % 60; // 47 minutes

Merci de votre aide.
Cordialement

3 réponses

  1. Salut,

    Perso j'aurais pas décomposé de la même manière.

    length = audio.duration; // 10048.608
    heure = lenght / 3600; // 2 heures reste 0,79128 heure
    minute = 0,79128*60 // 47 minutes reste 0,4768 minute
    seconde = 0,474768*60 // 28 secondes reste 0,48 secondes
    1
    1. Modérateur
      Bonjour,
            function secToTime(totalSeconds){
              hours = Math.floor(totalSeconds / 3600);
              totalSeconds %= 3600;
              minutes = Math.floor(totalSeconds / 60);
              seconds = Math.floor(totalSeconds % 60);
              return  hours + ":" + minutes + ":" + seconds ;
            }
            
            var duree = 10048.608;
            var result = secToTime(duree);
            alert(result);
      

      0
      1. Bonjour,
        avec l'objet Date et le Timestamp Unix on se passe de calculs et d'écrire beaucoup:

        let duree= new Date();
        duree.setTime(10048608);//-- nombre en secondes X 1000 pour avoir des ms
        alert(duree.getHours()-1+'h'+duree.getMinutes()+'min'+duree.getSeconds());
        


        Le -1 supprime l'heure 0 de la date UNIX(enfin je crois).
        0