【发布时间】:2021-01-03 08:45:27
【问题描述】:
我有一个这样的数组,
[
{id: 1, name: "sleep", endTime: 1600261550535, startTime: 1600261541729}, // 9 sec
{id: 2, name: "sleep", endTime: 1600261527833, startTime: 1600261522709}, // 5 sec
{id: 3, name: "sleep", endTime: 1600261496881, startTime: 1600261437616}, // 59 sec
{id: 4, name: "awake", endTime: 1600261427129, startTime: 1600261413596}, // 14 sec
{id: 5, name: "awake", endTime: 1600261403114, startTime: 1600261347569}, // 56 sec
{id: 6, name: "awake", endTime: 1600261337893, startTime: 1600261206497}, // 2 min 11 sec
]
当所有具有相同name 的对象加在一起时,我需要计算总时间(持续时间)。时间格式应为小时、分钟、秒。
显然,一次获取其中一个的持续时间很容易,但我想不出一种方法可以将持续时间加在一起。
非常感谢您的帮助。谢谢。随意使用 moment 或 lodash
输出应该是
total duration sleep : 1 min 13 secs
total duration awake : 3 min 21 secs
编辑:非常感谢大家的回复,你们让社区变得更好。
【问题讨论】:
-
到目前为止你尝试了什么?
-
这能回答你的问题吗? JavaScript - Get minutes between two dates
-
@NikNik 我能够得到两个日期之间的时间差,但我还没有弄清楚如何将它们加在一起以获得总持续时间。请查看我的数组和预期输出
-
这很清楚,但您能展示一下您尝试过但对您不起作用的代码吗?也许您只需要按名称对单个结果进行分组,然后就完成了。
标签: javascript arrays object time timestamp