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

Résolu
chabinot Messages postés 391 Statut Membre -  
 lessIsMore -
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. 3IR3 Messages postés 936 Date d'inscription   Statut Membre Dernière intervention   232
     
    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
  2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
  3. lessIsMore
     
    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