Python中有效的日期范围重叠计算?

Python中有效的日期范围重叠计算?,第1张

Python中有效的日期范围重叠计算
  • 确定两个开始日期中的最晚一个,以及两个结束日期中最早的一个。
  • 通过减去它们来计算时间增量。
  • 如果增量为正,则为重叠天数。

这是一个示例计算:

>>> 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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5646640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存