python元组返回datetime.datetime



问题:

每当我得到以下查询的结果时:

"SELECT email, url, `timestamp` FROM `transaction` WHERE `email` != '' AND `timestamp` >= '" + dateonlystring + "' AND `timestamp` < DATE(DATE_ADD('" + dateonlystring + "', INTERVAL 1 DAY))"

出现以下情况:

('sampleemail@yahoo.com','http://sample.url.com',datetime.datetime(2015,2,25,10,11,19)

为什么是datetime.datetime(2015,2,25,10,11,19)?

我该如何将其转化为

sampleemail@yahoo.com~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

最新更新