如何将时间转换成百分比

时间:2019-08-30 17:08:01

标签: javascript node.js angular typescript momentjs

我需要按小时将完整的小时数转换为%,但是我不确定一时能否做到这一点。

例如: 我有

let start = 08:00:00
// until
let end = 09:00:00

这等于:100%,但是我收到来自前端值的信息:

let data = 08:25:40

我需要知道从开始到结束已经过了多少个小时。

我确实有解决方法,但这有点像技巧,不是真正的解决方案。

有人知道JS是否具有可以轻松为我完成此操作的库吗?

谢谢。

1 个答案:

答案 0 :(得分:4)

以毫秒为单位计算从开始到结束以及从开始到数据的时间差,然后执行简单的数学运算。使用diff方法来计算时间差(以毫秒为单位)。

这是一个类似的代码段:

let start = 08:00:
let end = 09:00:00
let data = 08:25:40

const mStart = moment(start)
const mEnd = moment(end)
const mData = moment(data)

const percentile = 100.0 * mData.diff(mStart)/mEnd.diff(mStart)