不同ID的日期范围之间重叠天数的总和
创始人
2025-01-09 03:30:38
0

以下是一个示例代码,解决了计算不同ID的日期范围之间重叠天数的总和的问题:

from datetime import datetime, timedelta

# 定义日期范围类
class DateRange:
    def __init__(self, start_date, end_date):
        self.start_date = start_date
        self.end_date = end_date

    def get_overlap_days(self, other_range):
        overlap_start = max(self.start_date, other_range.start_date)
        overlap_end = min(self.end_date, other_range.end_date)
        overlap = (overlap_end - overlap_start).days + 1
        return max(0, overlap)


def calculate_overlap_days(date_ranges):
    total_overlap_days = 0
    for i in range(len(date_ranges)):
        for j in range(i + 1, len(date_ranges)):
            overlap_days = date_ranges[i].get_overlap_days(date_ranges[j])
            total_overlap_days += overlap_days
    return total_overlap_days


# 示例数据
date_range1 = DateRange(datetime(2022, 1, 1), datetime(2022, 1, 5))
date_range2 = DateRange(datetime(2022, 1, 4), datetime(2022, 1, 8))
date_range3 = DateRange(datetime(2022, 1, 10), datetime(2022, 1, 15))

date_ranges = [date_range1, date_range2, date_range3]

# 计算重叠天数总和
overlap_days = calculate_overlap_days(date_ranges)
print("Total overlap days:", overlap_days)

在这个示例中,我们定义了一个DateRange类来表示日期范围,该类包含起始日期和结束日期。然后,我们使用get_overlap_days方法来计算两个日期范围之间的重叠天数。最后,我们使用calculate_overlap_days函数来计算不同ID的日期范围之间重叠天数的总和。

请注意,此示例假设日期范围是闭区间,即包括起始日期和结束日期。如果你的需求是半开区间(包括起始日期但不包括结束日期),你可以相应地调整计算重叠天数的逻辑。

相关内容

热门资讯

透视专用!wepoker怎么发... 透视专用!wepoker怎么发冤家牌(透视)开挂辅助脚本(一直有挂)-哔哩哔哩1、在wepoker怎...
透视好友房!拱趴大菠萝万能挂图... 透视好友房!拱趴大菠萝万能挂图解,wepoker轻量版书签,教程书教程(都是存在有挂)-哔哩哔哩1、...
透视挂!aapoker能控制牌... 透视挂!aapoker能控制牌吗,赣牌圈破解器,果然有挂(解迷黑科技教程)-哔哩哔哩1、打开软件启动...
透视ai!哈糖大菠萝辅助器,w... 透视ai!哈糖大菠萝辅助器,wepoker私人局有透视吗,方针教程(好像是真的挂)-哔哩哔哩1、we...
透视苹果版本!wpk辅助最怕三... 透视苹果版本!wpk辅助最怕三个东西(透视)开挂辅助技巧(其实是真的挂)-哔哩哔哩1、wpk辅助最怕...
透视苹果版!werplan透视... 透视苹果版!werplan透视挂,玉海楼茶苑脚本,总是真的有挂(详情分享教程)-哔哩哔哩1、起透看视...
透视教学!pokemmo修改器... 透视教学!pokemmo修改器手机版,佛手在线大菠萝技巧,练习教程(切实是有挂)-哔哩哔哩佛手在线大...
透视新版!破解辅助插件wepo... 透视新版!破解辅助插件wepoker(透视)开挂辅助工具(好像真的有挂)-哔哩哔哩1、破解辅助插件w...
透视辅助!wepoker底牌透... 透视辅助!wepoker底牌透视,广西微乐小程序辅助器,好像有挂(专业技巧教程)-哔哩哔哩1、这是跨...
透视模拟器!wepokerpl... 透视模拟器!wepokerplus辅助,wepoker私人局透视教程,诀窍教程(确实存在有挂)-哔哩...