HH:MM与Moment.js(或没有)的小时数

时间:2017-05-19 11:21:45

标签: javascript momentjs

我有一个非常简单的问题,但找不到好的简单DRY解决方案。我想将小时数转换为HH:MM格式。我对Moment.js的尝试是:

var hours = 10.5
var hour_string = moment(hours*3600*1000).format('HH:MM')

但不幸的是我得到了:

"11:01"

并且不知道为什么。当然,我想要的结果是"10:30"

我想以最简单的方式做到这一点,就像我在Rails中所做的那样:

Time.at(hours*3600).utc.strftime("%H:%M")

有什么想法吗?

1 个答案:

答案 0 :(得分:8)

好的,我找到了原因。 "MM"表示月份,而不是分钟,"mm"。时移是由时区引起的,我们可以使用utc函数省略。最终的解决方案是:

moment.utc(hours*3600*1000).format('HH:mm')