我是初学者,正在制作一个小项目来计算某些东西。我需要我的程序根据日期使用某些数字。如果制造日期在两个日期之间,我希望程序做一些事情。我想知道如何将if语句与datetime模块一起使用?这就是我到目前为止所做的:
import datetime
ManufacturingDate = input('ManufacturingDate: ')
ManufacturingDate = datetime.datetime.strptime(ManufacturingDate,"%d/%m/%Y")
if (ManufacturingDate >= datetime.date(1/1/2001) and ManufacturingDate <= datetime.date(31/1/2008)):
#do something
答案 0 :(得分:2)
您需要两个边界日期才能将它们与输入日期进行比较。为此,您可以像使用输入日期一样使用datetime.strptime
。
然后应用if语句查看您的日期是否在区间内:
from datetime import datetime
date_format = "%d/%m/%Y"
manufacturing_date = input('Manufacturing Date: ')
manufacturing_date = datetime.strptime(manufacturing_date,date_format)
if (datetime.strptime("1/1/2001", date_format) <= manufacturing_date < datetime.strptime("31/1/2008", date_format)):
#do something
答案 1 :(得分:1)
您的“间隔比较”格式错误,转换为unix纪元时错误。
你需要:
import datetime
def unix_stamp(date):
return datetime.datetime.strptime(date,"%d/%m/%Y")
ManufacturingDate = unix_stamp(input('Manufacturing Date: '))
if unix_stamp('1/1/2001') <= ManufacturingDate <= unix_stamp('31/1/2008'):
print 'hello world'
else:
print 'oops'
>>>
Manufacturing Date: '1/1/1999'
oops
>>>
Manufacturing Date: '1/1/2002'
hello world
ETA:第一次没有捕获日期时间使用错误