- 确定两个开始日期中的最晚一个,以及两个结束日期中最早的一个。
- 通过减去它们来计算时间增量。
- 如果增量为正,则为重叠天数。
这是一个示例计算:
>>> from datetime import datetime>>> from collections import namedtuple>>> Range = namedtuple('Range', ['start', 'end'])>>> r1 = Range(start=datetime(2012, 1, 15), end=datetime(2012, 5, 10))>>> r2 = Range(start=datetime(2012, 3, 20), end=datetime(2012, 9, 15))>>> latest_start = max(r1.start, r2.start)>>> earliest_end = min(r1.end, r2.end)>>> delta = (earliest_end - latest_start).days + 1>>> overlap = max(0, delta)>>> overlap52
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)