Momentjs持续时间完全不正确

时间:2019-06-03 06:04:23

标签: javascript momentjs

我正在运行此确切的代码,而momentjs得到的小时数完全不正确:

   const minutes = 2100
   const duration = moment.duration(minutes, 'minutes')
   const inHours = duration.hours()

   console.log(inHours)

答案显然是 35 ,但这只是说 11

在这里我可以提供的上下文实际上并不多,因为它确实是非常基本的东西。

谁能看到这是怎么回事?

2 个答案:

答案 0 :(得分:7)

片刻持续时间会将其转换为days, hours, minutes, seconds

  

2100分钟= 35小时= 24 + 11小时= 1天+ 11小时

如果您输入duration.days(),它将得到1。

如果希望持续时间为小时,可以执行:duration.asHours()

经过性能优化的新一代代码(var hours = 2100/60

)对于执行此操作也是线程安全的

答案 1 :(得分:2)

您可以使用.asHours()

直接获取小时数

const minutes = 2100
const duration = moment.duration(minutes, 'minutes').asHours()
console.log(duration)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>