Javascript从彼此中减去时间跨度

Javascript subtract time spans from each other

本文关键字:时间跨度 Javascript      更新时间:2023-09-26

假设我有一个时间跨度{"start_time":"8:30", "end_time":"18:00"}

我想减去其他时间跨度,如{"start_time":"12:30", "end_time":"14:00"},得到结果:
[{"start_time":"8:30", "end_time":"12:30"},{"start_time":"14:00", "end_time":"18:00"}]

编辑:我还需要减去其他时间跨度下一个例子[{"start_time":"8:30", "end_time":"12:30"},{"start_time":"14:00", "end_time":"18:00"}] - {"start_time":"16:30", "end_time":"17:00"}应该得到[{"start_time":"8:30", "end_time":"12:30"},{"start_time":"14:00", "end_time":"16:30"},{"start_time":"17:00", "end_time":"18:00"}]

我想知道做这件事最合乎逻辑的方法是什么。

谢谢

function subtract(t1, t2){
     return [{'start_time': t1.start_time, 'end_time': t2.start_time}, 
               {'start_time': t2.end_time, 'end_time': t1.end_time}]
}