Convertir des millisecondes en heures et minutes en utilisant Momentjs

Je suis nouveau pour Momentjs. J'essaie de l'utiliser pour convertir des millisecondes en heures et en minutes. Ci-dessous, x est en millisecondes

x = 433276000 var y = moment.duration(x, 'milliseconds').asHours; 

Quelqu'un peut-il aider?

J'ai fini par faire ça …

 var x = 433276000 var tempTime = moment.duration(x); var y = tempTime.hours() + tempTime.minutes(); 

Essaye ça:

 var x = 433276000 var d = moment.duration(x, 'milliseconds'); var hours = Math.floor(d.asHours()); var mins = Math.floor(d.asMinutes()) - hours * 60; console.log("hours:" + hours + " mins:" + mins); 

Utilisation du plugin du moment-durée-format :

 moment.duration(ms).format("h:mm") 

Il existe un moyen plus facile d'atteindre ce que vous voulez.

Ce

 moment('2000-01-01 00:00:00').add(moment.duration(1000)).format('HH:mm:ss'); 

Rendra ce résultat

 00:00:01 

Pas le plus amusant, je le sais, mais c'est le moment pur 100% js.

Edit : ne fonctionne pas pour des périodes plus longues que 24h

Cela semble non pris en charge par cette SO . Suite à ce problème github , il y a un plugin moment-à-compte à rebours que vous pourriez utiliser.

Mais il semble que vous pourriez vouloir Countdown.js pour cela en premier lieu.

 countdown(0, 433276000, countdown.HOURS | countdown.MINUTES).toString(); 

Notez que cela ne prend pas en compte les secondes de saut, ou saute quelque chose pour cette question, car il corrige à l'époque Unix (donc ce n'est pas un intervalle de temps pur).

Il n'est vraiment pas nécessaire d'utiliser Moment pour cette opération.

Il peut être écrit en une seule ligne:

var hours = Math.round((450616708 / 1000 / 60 / 60) * 100) / 100;

Ou comme fonction:

 function millisecondsToHours(ms){ return Math.round((ms / 1000 / 60 / 60) * 100) / 100; } 

Vous pouvez créer une date Moment.js en millisecondes en utilisant moment.utc () .

 var milliseconds = 1000; moment.utc(milliseconds).format('HH:mm'); 

Dans Moment.js, vous pouvez simplement utiliser Math.trunc pendant des heures si vous prévoyez qu'il soit supérieur à 24 heures. Hh: mm: format ss.

 var seconds = moment.duration(value).seconds(); var minutes = moment.duration(value).minutes(); var hours = Math.trunc(moment.duration(value).asHours()); 

Voir ici: https://codepen.io/brickgale/pen/mWqKJv?editors=1011