Moment.js 持续时间完全不正确

问题描述 投票:0回答:2

我正在运行这个确切的代码,并且

momentjs
得到的小时数完全不正确:

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

   console.log(inHours)

答案明明是35,但只是说11

我在这里无法提供更多背景信息,因为它确实是非常基本的东西。

这可能是哪里出了问题?

javascript momentjs
2个回答
6
投票

瞬间持续时间会将其转换为

days, hours, minutes, seconds

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

如果您输入

duration.days()
,它会给您 1。

如果您希望持续时间为小时,您可以这样做:

duration.asHours()

性能更加优化的新一代代码也是线程安全的:

var hours = 2100/60


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>

© www.soinside.com 2019 - 2024. All rights reserved.