【发布时间】:2017-06-13 16:34:26
【问题描述】:
我想在 Python 2.7 中获取两个日期之间的时间差,日期是在 MySQL 中存储和检索的。
运行以下代码:
import datetime
import time
from time import sleep
import MySQLdb as mdb
connection = mdb.connect('localhost', 'root', 'pwd', 'mydatabase');
cursor = connection.cursor()
TimeFormat = '%Y-%m-%d %H:%M:%S'
#Insert times and type of event into database
with connection:
#First event
Now=datetime.datetime.now()
Timewhen1=Now.strftime(TimeFormat)
print "Start time", Timewhen1
Type="1"
cursor.execute('INSERT INTO LogEvent (Timewhen, Type) VALUES (%s, %s)',(Timewhen1,Type))
sleep(1) #Real time will be unknown, seconds to days
#Second event
Now=datetime.datetime.now()
Timewhen2=Now.strftime(TimeFormat)
print "Stop time", Timewhen2
Type="0"
cursor.execute('INSERT INTO LogEvent (Timewhen, Type) VALUES (%s, %s)',(Timewhen2,Type))
#Get time difference
with connection:
cursor.execute("SELECT Timewhen FROM LogEvent ORDER BY ID DESC LIMIT 0,1")
result=cursor.fetchone()
cursor.execute("SELECT Timewhen FROM LogEvent ORDER BY ID DESC LIMIT 1,1")
result2=cursor.fetchone()
diff=result2-result
print "Diff", diff
得到以下结果:
TypeError: 不支持的操作数类型 -: 'tuple' 和 'tuple'
result/result2 的格式为(datetime.datetime(2017, 1, 27, 22, 25, 39),)。
猜我在元组/字符串格式上做错了什么。任何帮助表示赞赏!
【问题讨论】: