python datetime模块和if语句

时间:2017-04-07 13:54:37

标签: python datetime if-statement

我是初学者,正在制作一个小项目来计算某些东西。我需要我的程序根据日期使用某些数字。如果制造日期在两个日期之间,我希望程序做一些事情。我想知道如何将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

2 个答案:

答案 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:第一次没有捕获日期时间使用错误