Я новичок в Momentjs. Я пытаюсь использовать его для преобразования миллисекунд в часы и минуты. Ниже, x равно миллисекундам
x = 433276000
var y = moment.duration(x, 'milliseconds').asHours;
Может ли кто-нибудь помочь?
Я новичок в Momentjs. Я пытаюсь использовать его для преобразования миллисекунд в часы и минуты. Ниже, x равно миллисекундам
x = 433276000
var y = moment.duration(x, 'milliseconds').asHours;
Может ли кто-нибудь помочь?
Я закончил это...
var x = 433276000
var tempTime = moment.duration(x);
var y = tempTime.hours() + tempTime.minutes();
Попробуйте следующее:
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.duration(ms).format("h:mm")
Существует более простой способ достичь желаемого.
Это
moment('2000-01-01 00:00:00').add(moment.duration(1000)).format('HH:mm:ss');
Выведет этот
00:00:01
Не самый причудливый, я знаю, но это 100% чистый момент js.
изменить: не работает в течение более 24 часов
Это кажется неподдерживаемым за это SO. После этот вопрос github, там плагин момента-обратного отсчета, которые вы можете использовать.
Но, кажется, вы можете захотеть Countdown.js для этого, в первую очередь.
countdown(0, 433276000, countdown.HOURS | countdown.MINUTES).toString();
Обратите внимание, что это не учитывает секунды прыжка или что-то скачкообразно сказывается на нем, поскольку оно фиксируется в эпоху Unix (так что это не чистый промежуток времени).
На самом деле нет необходимости использовать Moment для этой операции.
Его можно записать в одну строку:
var hours = Math.round((450616708 / 1000 / 60 / 60) * 100) / 100;
или как функция:
function millisecondsToHours(ms){
return Math.round((ms / 1000 / 60 / 60) * 100) / 100;
}
Вы можете создать дату Moment.js из миллисекунд, используя moment.utc().
var milliseconds = 1000;
moment.utc(milliseconds).format('HH:mm');
В 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
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(":");