javascript - 如何使用 moment 将时间转换为百分比

标签 javascript node.js angular typescript momentjs

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

例如: 我有

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

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

let data = 08:25:40

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

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

有人知道 JS 是否有一个库可以轻松地为我做这件事吗?

谢谢。

最佳答案

计算从开始到结束以及从开始到您的数据的时间差(以毫秒为单位),然后进行简单的数学运算。使用 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)

关于javascript - 如何使用 moment 将时间转换为百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57730744/

相关文章:

javascript - Maven 存储库上的 JQuery 可用性

javascript - .then 的链接不起作用

javascript - NPM Oracle : Inserting BLOBs

Node.js 和 MongoDB 如果文档完全匹配存在,则忽略插入

javascript - 如何在 Node/JavaScript 中重写 Promise

angular - Moment() 未在 Angular 中定义

javascript - HTTPS 调用不会在 Cordova android release apk 中进行

javascript - 如何创建 Angular Electron 应用程序的exe软件包

javascript - 将标记添加到谷歌地图,引用 map 但不重新实例化它

Node.js - 写入 CSV 文件在生产中创建空文件,而在 Mocha 测试中则正常