Convertir des millisecondes en heures et minutes en utilisant Momentjs
je suis nouveau à Momentjs. J'essaie de l'utiliser pour convertir des millisecondes en heures et minutes. Ci-dessous, x est en millisecondes
x = 433276000
var y = moment.duration(x, 'milliseconds').asHours;
quelqu'un Peut-il aider?
10 réponses
j'ai fini par faire...
var x = 433276000
var tempTime = moment.duration(x);
var y = tempTime.hours() + tempTime.minutes();
essaye ceci:
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);
moment de la durée du plugin format:
moment.duration(ms).format("h:mm")
Vous pouvez créer un Moment.js date from millisecondes using moment.utc ().
var milliseconds = 1000;
moment.utc(milliseconds).format('HH:mm');
moment('2000-01-01 00:00:00').add(moment.duration(1000)).format('HH:mm:ss');
sortie
00:00:01
ce n'est Pas le plus chic, je sais, mais c'est 100% pur moment de js.
modifier: ne fonctionne pas pendant des périodes plus longues que 24h
Cela semble non pris en charge par cette SORTE. Suivant c'github question, il y a un plugin moment-to-countdown que vous pouvez utiliser.
Mais il semble que vous pouvez compte à Rebours.js pour cela en premier lieu.
countdown(0, 433276000, countdown.HOURS | countdown.MINUTES).toString();
notez que cela ne prend pas en compte les secondes intercalaires, ni rien intercalé d'ailleurs, car il se fixe à L'époque Unix (donc ce n'est pas un intervalle de temps pur).
Il n'y a vraiment pas besoin d'utiliser le 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;
}
Dans Le Moment.durée js vous pouvez simplement utiliser les mathématiques.trunc pendant des heures, si vous vous attendez à plus de 24h. hh:mm: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
moment('2000-01-01 00:00:00').milliseconde (XXXXXX).format ("HH: mm:ss")
Non Moment code
var timeinmilli = 433276000;
var milliseconds = timeinmilli%1000;
var seconds = parseInt(timeinmilli=timeinmilli/1000)%60;
var minutes = parseInt(timeinmilli=timeinmilli/60)%60;
var hours = parseInt(timeinmilli=timeinmilli/60)%24;
var days = parseInt(timeinmilli=timeinmilli/24);
document.body.innerHTML = [days, hours, minutes, seconds, milliseconds].join(":");