Подтвердить что ты не робот

Преобразование миллисекунд в часы и минуты с использованием Momentjs

Я новичок в Momentjs. Я пытаюсь использовать его для преобразования миллисекунд в часы и минуты. Ниже, x равно миллисекундам

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

Может ли кто-нибудь помочь?

4b9b3361

Ответ 1

Я закончил это...

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

Ответ 2

Попробуйте следующее:

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

Ответ 4

Существует более простой способ достичь желаемого.

Это

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

Выведет этот

00:00:01

Не самый причудливый, я знаю, но это 100% чистый момент js.

изменить: не работает в течение более 24 часов

Ответ 5

Это кажется неподдерживаемым за это SO. После этот вопрос github, там плагин момента-обратного отсчета, которые вы можете использовать.

Но, кажется, вы можете захотеть Countdown.js для этого, в первую очередь.

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

Обратите внимание, что это не учитывает секунды прыжка или что-то скачкообразно сказывается на нем, поскольку оно фиксируется в эпоху Unix (так что это не чистый промежуток времени).

Ответ 6

На самом деле нет необходимости использовать Moment для этой операции.

Его можно записать в одну строку:

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

или как функция:

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

Ответ 7

Вы можете создать дату Moment.js из миллисекунд, используя moment.utc().

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

Ответ 8

В Moment.js длительность вы можете просто использовать Math.trunc в течение нескольких часов, если вы ожидаете, что это будет более 24 часов. hh: mm: ss format.

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

см. здесь: https://codepen.io/brickgale/pen/mWqKJv?editors=1011

Ответ 9

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(":");