Python 如何判断一个日期是否介于其他两个日期之间?

Python 如何判断一个日期是否介于其他两个日期之间?,python,compare,date,Python,Compare,Date,我有以下代码: if date in (start, end): print 'in between' else: print 'No!' 日期、开始和结束都是1/1格式的变量。我应该怎么做才能打印出正确的结果?我试着把日期定在10月2日,从3月14日开始,到11月7日结束,打印的是“否!”,这意味着它运行不正常。我想必须将它们格式化为日期格式,然后进行比较。使用datetime.date: > >>>d1=日期(2011年3月28日) >>>d2=日期(20

我有以下代码:

if date in (start, end):
        print 'in between'
else:
        print 'No!'

日期、开始和结束都是1/1格式的变量。我应该怎么做才能打印出正确的结果?我试着把日期定在10月2日,从3月14日开始,到11月7日结束,打印的是“否!”,这意味着它运行不正常。我想必须将它们格式化为日期格式,然后进行比较。

使用
datetime.date

>>
>>>d1=日期(2011年3月28日)
>>>d2=日期(2011年3月22日)
>>>d3=日期(2011年4月3日)
>>>d2
或者在您的程序中:

from datetime import date

d1 = date(2011, 3, 28)
d2 = date(2011, 3, 22)
d3 = date(2011, 4, 3)

if d2 < d1 < d3:
    print 'in between'
else:
    print 'No!'
from datetime导入日期
d1=日期(2011年3月28日)
d2=日期(2011年3月22日)
d3=日期(2011年4月3日)
如果d2
如果将所有日期转换为,则可以编写以下内容:

if start <= date <= end:
    print "in between"
else:
    print "No!"

如果开始因为您仍然不满意,我有另一个答案给您。不使用日期时间和年份

它只使用内置元组并比较它们:

d1 = (3, 28)
d2 = (3, 31)
d3 = (4, 2)
if d1 < d2 < d3:
    print("BETWEEN!")
else:
    print("NOT!")

你还试过什么?既然这不起作用,您认为还有哪些代码可以起作用?你在教程中读过
吗?我也使用了startd1 = (3, 28) d2 = (3, 31) d3 = (4, 2) if d1 < d2 < d3: print("BETWEEN!") else: print("NOT!")
day = 16
month = 4
d = (month, day)
from datetime import datetime

date_format = "%m/%d/%Y"

a = datetime.strptime('8/18/2008', date_format)

b = datetime.strptime('9/26/2007', date_format) # Date to be checked

c = datetime.strptime('9/25/2008', date_format)

d = datetime.strptime('8/18/2008', date_format)  #Date entered here should always be the same as 'a'

delta1 = b - a

delta2 = c - b

delta3 = d - a

if delta1.days >= delta3.days and delta2.days >= delta3.days:

    print 'In between'

else:

    print 'Not in between'