比较两组日期,看看是否在另一组中找到了一组日期

时间:2018-04-16 15:17:49

标签: python python-3.x python-datetime

我有两组日期(总共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,在那里。

1 个答案:

答案 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; =”