怎么根据好几个时间段计算总时长?

后台返回的这种形式的数组
image.png
页面上是这样的几段时间
image.png
想要根据这样的时间段计算出几个时间段相加的时长要怎么下手
最终效果
image.png
好几段怎么相减再相加呀

阅读 2.2k
3 个回答

times 是一天内的多段吗?差值累加是不是就行了

const totalWorkTime = times.reduce((result, { workOnTime, workOffTime }) => result + (new Date(workOffTime) - new Date(workOffTime)), 0) / (1000 * 60 * 60);
// totalWorkTime.toFixed(2) 
const totalWorkTime = (times: any) => {
  let worktime = times.reduce(
    (result: any, { workOnTime, workOffTime }: any) =>
      result + (new Date(workOffTime).getTime() - new Date(workOnTime).getTime()), 0) / (1000 * 60 * 60)
  return worktime.toFixed(2)
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题