如何用python快速的算出两个时间段中重叠的天数
-
比如一个时间段是:2018年1月15日到2018年5月10日
另一个时间段是:2018年3月20日到2018年9月15日
计算重叠天数>>> from datetime import datetime >>> from collections import namedtuple >>> Range = namedtuple('Range', ['start', 'end']) >>> r1 = Range(start=datetime(2018, 1, 15), end=datetime(2018, 5, 10)) >>> r2 = Range(start=datetime(2018, 3, 20), end=datetime(2018, 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) >>> overlap 52
-
@digitalsatori 就是,哈哈,被您一说,才发现。这个就只能提前判断是否有交汇了:grinning_face_with_smiling_eyes: