Chinaunix
标题:
请教can't compare datetime.date to str的错误提示
[打印本页]
作者:
syncon
时间:
2005-07-22 23:53
标题:
请教can't compare datetime.date to str的错误提示
我的Python是2.4.1版本的
test.py文件内容如下:
#! /usr/local/python/bin/python
# -*- coding: gb2312 -*-
import MySQLdb
import datetime
last = (datetime.date.today() - datetime.timedelta(10)).strftime("%Y-%m-%d"
now = (datetime.date.today()).strftime("%Y-%m-%d"
conn = MySQLdb.connect (host = "localhost",
user = "root",
passwd = "888888",
db = "test"
cursor = conn.cursor ()
cursor.execute ("SELECT login_name,last_time FROM customer"
while (1):
row = cursor.fetchone ()
if row == None:
break
else:
if row[1] <= now:
print row[1]
elif row[1] >; now:
print now
cursor.close ()
conn.close ()
其中last_date的格式为2005-07-20
执行结果如下:
# /usr/local/python/bin/python /usr/local/script/radius/test.py
Traceback (most recent call last):
File "/usr/local/script/radius/test.py", line 21, in ?
if row[1] <= now:
TypeError: can't compare datetime.date to str
不知为何两个变量不能比较??在Python2.2.3里就没有这个问题,不过Python2.2.3又没有datetime模块!请指教
再请问一下,利用time模块怎样获取10天前的日期?要求格式为2005-07-20
作者:
sakulagi
时间:
2005-07-23 08:58
标题:
请教can't compare datetime.date to str的错误提示
不知道你数据库的结构是什么样子的。如果没有猜错,
if row[1] <= now:
复制代码
里的row[1]得到的是个date对象,而不是str,所以不能和now比较。其实你可以试试这样定义now:
now = datetime.date.today()
复制代码
作者:
syncon
时间:
2005-07-23 18:29
标题:
请教can't compare datetime.date to str的错误提示
对,row[1]得到的是date对象,而now是str,所以我用下面的方法解决了:
future = (datetime.date.today() + datetime.timedelta(10)).strftime("%Y-%m-%d"
now = (datetime.date.today()).strftime("%Y-%m-%d"
userdate = row[1].strftime("%Y-%m-%d"
这样三个就能比较了!谢谢
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2