2016-07-27 190 views
2

我想比较python中的日期。谁能告诉我为什么这不起作用。python比较日期

cursor = conn.cursor() 

tech = raw_input("Please enter your id number: ") 

cursor.execute("Select cust_id from client where tech_id = %s" % tech) 
rows = cursor.fetchall() 
day_num = datetime.datetime.today().weekday() 


dte = datetime.datetime.today() 
week = datetime.timedelta(days=5) 
service_inc = datetime.timedelta(days=14) 
friday = dte + datetime.timedelta(days=5) 
work = [] 
for row in rows: 
    client = row[0]; 
    cursor.execute("Select last_serviced from client where " \ 
    "cust_id= %s" % client) 
    ser_date = cursor.fetchone() 
    ser_date = ser_date[0] + service_inc 
    if dte <= ser_date <= friday: 
     work.append(client) 

我继续得到的错误是无法将datetime.datetime与datetime.date进行比较。感谢您提前提供任何帮助。

+0

因为您试图将日期与时间进行比较。那天的日期应该是什么日期?要么给日期添加时间,要么从日期时间中删除它,*然后*进行比较。 – jonrsharpe

+4

http://stackoverflow.com/questions/7239315/cant-compare-datetime-datetime-to-datetime-date – user2853437

回答

-1

它看起来像一个类型错误。

ser_date = cursor.fetchone() 

以上需要设置为日期类型进行比较。