gpt4 book ai didi

javascript - 节点 - 多个日期范围重叠

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:38:50 26 4
gpt4 key购买 nike

我有一个日期范围数组,每个日期范围都有自己的开始日期、结束日期和唯一 ID。我想要所有重叠的日期范围(知道哪个范围与谁重叠以及在什么范围内重叠,例如它甚至可以是 3 个日期范围 [1,3,8] 在 08:00-08:10 和 [ 1.3]在08:00-18:15之间重叠)

我在这里找到了我的问题:Datetime -Determine whether multiple(n) datetime ranges overlap each other in R但是答案在 R 中,我没能按照逻辑进行操作

我确实知道在第一个开始日期和最后一个结束日期之间逐分钟调整的解决方案,并检查哪个日期范围包含分钟,但我希望得到更优雅的解决方案,不会因大量而变慢数据

我很乐意收到 C#、JavaScript、typescript、python、java 或只是逻辑的英文解释的答案(我更喜欢没有第三方库,除了 moment js)

最佳答案

此问题的标准逻辑是将您的时间间隔转换为事件对、开始时间点和结束时间点。然后按日期对事件进行排序,然后打开/关闭。 (如果你在打开之前排序关闭,当一个结束时另一个打开时你不会算作交叉点。如果你在关闭之前排序打开,你确实将它们算作交叉点。)现在遍历排序列表,跟踪当前开放的间隔,您可以读出您的答案。

关于javascript - 节点 - 多个日期范围重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48990624/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com