问题:
每当我得到以下查询的结果时:
"SELECT email, url, `timestamp` FROM `transaction` WHERE `email` != '' AND `timestamp` >= \'" + dateonlystring + "\' AND `timestamp` < DATE(DATE_ADD(\'" + dateonlystring + "\', INTERVAL 1 DAY))"
这出现了:
(' [email protected] ', ' http://sample.url.com ', datetime.datetime(2015, 2, 25, 10, 11, 19))
为什么是 datetime.datetime(2015, 2, 25, 10, 11, 19))?
我怎样才能把它变成这样:
[email protected] ~ http://sample.url.com~2015-02-25 10:11:19
我的代码/我尝试过的内容:
#Date
#datestamp = datetime.strptime('2015-02-25 00:00:00', "%Y-%m-%d %H:%M:%S")
datestamp = datetime.now()
dateonlystring = str(datestamp.date().strftime("%Y-%m-%d %H:%M:%S"))
datetimestring = str(datestamp.now().strftime("%Y%m%d%H%M%S"))
#Dunchangeme:
#Query:
q_getstuff = "SELECT email, url, `timestamp` FROM `transaction` WHERE `email` != '' AND `timestamp` >= \'" + dateonlystring + "\' AND `timestamp` < DATE(DATE_ADD(\'" + dateonlystring + "\', INTERVAL 1 DAY))"
try:
con = mdb.connect(hostname, username, password, database)
cur = con.cursor()
cur.execute(q_getstuff)
result = cur.fetchall()
for row in result:
tuplecrap = str(row).replace('(', '').replace(')', '').replace('\'', '').replace(', ', '~')
print tuplecrap
值得注意的是,如果用户打算前往特定日期(而不是现在),则注释的第一个 datestamp
就会出现。
最简单的方法是简单地去掉括号和逗号,就像我上面所做的那样,但是如果不使用复杂的正则表达式解决方案,这并不能解决问题,而且我很确定这不是正确的方法。
有什么建议吗?
最佳答案
您有每个结果行包含 3 个项目的元组,只需将其解压即可:
for row in result:
email, url, date = row
# here you can format date as you want
关于python 元组返回 datetime.datetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28724968/