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