我有两组日期(总共4个日期),让他们称之为集合A和B.我需要查看是否在集合A中的任何顺序中找到集合B日期范围。下面是一个示例如何找到日期:
设置A:
Start Stop
11/9/2017 11/10/2017
11/16/2017 11/18/2017
设置B
Start Stop
11/7/2017 11/11/2017 # should match the first one in set A
11/15/2017 11/16/2017 # Should match the second one in set A
我认为有一组<
>
可以使用,但我似乎无法将其与我想要的相匹配。
我尝试了以下内容:
start1 = datetime(2017,11,9)
stop2 = datetime(2017,11,10)
start2 = datetime(2017,11,7)
stop2 = datetime(2017,11,11)
start1 >= start2 or stop1 <= stop2
这是真的。但我觉得我可能会错过一些or
,在那里。
答案 0 :(得分:0)
比较 Python 3 中的日期的一个非常基本的例子:
set_a_start = datetime.datetime(2017, 1, 1)
set_a_end = datetime.datetime(2017, 12, 31)
set_b_start = datetime.datetime(2017, 4, 1)
set_b_end = datetime.datetime(2017, 4, 30)
if(set_a_start <= set_b_start and set_a_end >= set_b_end):
print("Set B is within Set A")
更新:对于两个集合共享相同开始日期(“&gt; =”表示结束日期)的情况,添加了“&lt; =”