Convertir une durée exprimée en secondes en heure, minute, seconde [Résolu]

Signaler
Messages postés
262
Date d'inscription
mardi 10 novembre 2015
Statut
Membre
Dernière intervention
6 septembre 2020
-
 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

Messages postés
803
Date d'inscription
mercredi 27 octobre 2010
Statut
Membre
Dernière intervention
26 octobre 2020
168
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
Messages postés
29890
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 octobre 2020
2 887
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);

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).