Python 3.x 如果语句不起作用。处理日期

Python 3.x 如果语句不起作用。处理日期,python-3.x,date,Python 3.x,Date,下午好 我正在尝试编写一个代码,该代码读取日期/时间值,并检查该值是否早于2、4、7天。我最好只考虑营业日。我在平时编写了简单的代码,但Python似乎没有通过我的IF语句: def Calc_Date(datestring): a = datestring date_time_ticket = datetime.datetime.strptime(a, '%d-%b-%Y %H:%M:%S') date_today = datetime.date.today()

下午好

我正在尝试编写一个代码,该代码读取日期/时间值,并检查该值是否早于2、4、7天。我最好只考虑营业日。我在平时编写了简单的代码,但Python似乎没有通过我的IF语句:

def Calc_Date(datestring):
    a = datestring
    date_time_ticket = datetime.datetime.strptime(a, '%d-%b-%Y %H:%M:%S')
    date_today = datetime.date.today()
    date_only = date_time_ticket.date()
    minus_2_days = date_today - timedelta(days=2)
    minus_4_days = date_today - timedelta(days=4)
    minus_7_days = date_today - timedelta(days=7)
    minus_14_days = date_today - timedelta(days=14)
    minus_21_days = date_today - timedelta(days=21)
    print(date_today, type(date_today))
    print(date_only, type(date_only))
    print(minus_2_days, type(minus_2_days))
    if date_only < minus_2_days:
        print('lower than 2')
    elif date_only < minus_4_days:
        print('lower than 4')
    elif date_only < minus_7_days:
        print('lower than 7')
def Calc_日期(日期字符串):
a=日期字符串
日期\u时间\u票证=datetime.datetime.strtime(a,'%d-%b-%Y%H:%M:%S')
date_today=datetime.date.today()
仅日期=日期时间票证。日期()
减2天=今天的日期-时间增量(天=2)
减4天=今天的日期-时间增量(天=4)
减去7天=今天的日期-时间增量(天=7)
减14天=今天的日期-时间增量(天=14)
减21天=今天的日期-时间增量(天=21)
打印(今天的日期,键入(今天的日期))
打印(仅日期,键入(仅日期))
打印(减去2天,键入(减去2天))
如果日期仅<减去2天:
打印('低于2')
elif日期仅<减去4天:
打印('低于4')
elif日期仅<减去7天:
打印('低于7')
这是我得到的结果:

2021-06-03 <class 'datetime.date'>
2021-06-01 <class 'datetime.date'>
2021-06-01 <class 'datetime.date'>
2021-06-03
2021-06-01 
2021-06-01 

计算日期('01-Jun-2021 16:18:59')

您期望什么?仅日期和减去2天是同一日期(打印的第二行和第三行)。调试时,还要添加
else
条件。和打印。还有区别。它帮助
减去2天
06-01
<代码>减去4天为
05-30
<代码>减去4天为
05-27
<代码>日期_仅,即
06-01
不小于其中任何一个。