如何在Python上检查日期是否在范围内?

如何在Python上检查日期是否在范围内?,python,python-2.7,datetime,python-datetime,Python,Python 2.7,Datetime,Python Datetime,我试图检查今天的日期(以dd-mm-yyyy格式)是否在给定范围内 我的代码只检查日期,不检查月份或年份。。。你能帮我看看怎么了吗 在这里它工作得很好。。。 导入日期时间 TODAY\u CHECK=datetime.datetime.now() 今日检查结果=(“%s-%s-%s%”(今日检查日、今日检查月、今日检查年)) 如果“26-11-2017”您正在比较字符串。您应该比较datetime/date对象 import datetime TODAY_CHECK = datetime.dat

我试图检查今天的日期(以
dd-mm-yyyy
格式)是否在给定范围内

我的代码只检查日期,不检查月份或年份。。。你能帮我看看怎么了吗

在这里它工作得很好。。。
导入日期时间
TODAY\u CHECK=datetime.datetime.now()
今日检查结果=(“%s-%s-%s%”(今日检查日、今日检查月、今日检查年))

如果“26-11-2017”您正在比较字符串。您应该比较datetime/date对象

import datetime
TODAY_CHECK = datetime.datetime.now()
start = datetime.datetime.strptime("26-11-2017", "%d-%m-%Y")
end = datetime.datetime.strptime("30-11-2017", "%d-%m-%Y")
if start <= TODAY_CHECK <= end:
    print "PASS!"
else:
    print "YOU SHALL NOT PASS, FRODO."

除非希望
27-11
28-10
之前,否则应该使用YYYY-MM-DD格式。此外,为什么不只是比较datetime对象?就像@cricket_007所说的,这不是正确的方法。比较datetime对象更安全(一般来说更准确)。好吧,现在我看到了我的错误,以后我会记住这一点……非常感谢,我真的很感激!
import datetime
TODAY_CHECK = datetime.datetime.now()
TODAY_RESULT = ('%s-%s-%s' % (TODAY_CHECK.day, TODAY_CHECK.month, TODAY_CHECK.year))
if '26-11-2017' <= TODAY_RESULT <= '01-12-2017':
    print "PASS!"
else:
    print "YOU SHALL NOT PASS, FRODO."
import datetime
TODAY_CHECK = datetime.datetime.now()
start = datetime.datetime.strptime("26-11-2017", "%d-%m-%Y")
end = datetime.datetime.strptime("30-11-2017", "%d-%m-%Y")
if start <= TODAY_CHECK <= end:
    print "PASS!"
else:
    print "YOU SHALL NOT PASS, FRODO."
start = datetime.datetime(day=26,month=11,year=2017)
end = datetime.datetime(day=30,month=11,year=2017)