【发布时间】:2014-08-31 15:44:16
【问题描述】:
我正在编写我的 python 脚本以从 sqlite 数据库。
我正在创建变量 startDelta 以从
变量名为program_startDate。
当我使用此语句执行代码时,我的代码出现问题:
#get the programs list
cur.execute('SELECT channel, title, start_date, stop_date FROM programs
WHERE channel=?', [channel])
programList = list()
programs = cur
for row in programs:
program = row[1].encode('ascii'), str(row[2]), str(row[3])
program_startDate = str(row[2])
program_endDate = str(row[3])
programList.append(program)
cur.close()
idx = str(programList)
# find nearest half hour
viewStartDate = datetime.datetime.now()
viewStartDate -= datetime.timedelta(minutes = viewStartDate.minute % 30,
seconds = viewStartDate.second)
startDelta = program_startDate - viewStartDate
stopDelta = program_endDate - viewStartDate
我会得到一个错误: TypeError: 不支持的操作数类型 -: 'str' 和 'datetime.datetime'
错误在这一行跳转:
startDelta = program_startDate - viewStartDate
stopDelta = program_endDate - viewStartDate
如何解决这个问题?
【问题讨论】:
-
你强制
row[2]成为一个字符串......所以你推送了错误。如果要计算,请转换为日期时间对象 -
@ngulam 是的,我确实做到了。我已将字符串存储在数据库中,例如:20140831170500。您能告诉我如何将它们转换为日期时间对象吗?
标签: python