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

Résolu/Fermé
chabinot Messages postés 327 Date d'inscription mardi 10 novembre 2015 Statut Membre Dernière intervention 27 août 2023 - 17 avril 2020 à 07:57
 lessIsMore - 20 avril 2020 à 15:22
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

3IR3 Messages postés 864 Date d'inscription mercredi 27 octobre 2010 Statut Membre Dernière intervention 25 avril 2022 227
Modifié le 17 avril 2020 à 08:25
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
jordane45 Messages postés 37712 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 septembre 2023 4 615
17 avril 2020 à 08:40
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
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