web-dev-qa-db-fra.com

Convertissez des millisecondes en heures et minutes en utilisant Momentjs

Je suis nouveau à Momentjs. J'essaye de l'utiliser pour convertir des millisecondes en heures et en minutes. En dessous, x est en millisecondes

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

Quelqu'un peut-il aider?

22
user3214545

J'ai fini par faire ça ...

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

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);
29
closure

Utilisation du plugin moment-durée-format :

moment.duration(ms).format("h:mm")
15
Matt Johnson

Vous pouvez créer une date Moment.js à partir de millisecondes avec moment.utc () .

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

Il existe un moyen plus simple de réaliser ce que vous voulez.

Ce

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

Va sortir cette

00:00:01

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

edit: Ne fonctionne pas pendant plus de 24h

5
dmmd

Cela semble non pris en charge par this SO . Suite à ce problème de github , il existe un plug-in du moment au compte à rebours que vous pourrez peut-être utiliser.

Mais il semble que vous souhaitiez peut-être 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 intercalaires, ni quoi que ce soit d’autre, car cela s’applique à l’époque Unix (donc ce n’est pas un intervalle de temps pur).

3
djechlin

Dans la durée de Moment.js, vous pouvez simplement utiliser Math.trunc pendant des heures si vous vous attendez à ce 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

0

moment ('2000-01-01 00:00:00'). milliseconde (XXXXXX) .format ("HH: mm: ss")

0
Batman