将 python 日期时间与 mysql 日期时间进行比较
comparing python datetime to mysql datetime
我是一个完全的初学者,我有一个测试 mysql 数据库设置。我目前正在尝试检查数据库中列出的备份开始时间是否在当天中午 12 点之前。使用以下内容将时间输入 table:
UPDATE Clients SET backup_started=NOW() WHERE id=1;
我目前正在尝试的是:
now = datetime.datetime.now()
today12am = now.replace(hour=0, minute=0, second =0,)
dbu.cursor.execute('SELECT id, company_name, backup_started,\
backup_finished FROM Clients WHERE backup_started>' + today12am)
data = dbu.cursor.fetchone()
print (data)
我知道它正在尝试将 datetime.datetime 与字符串进行比较,而这正是它遇到问题的地方。我的问题是完成此任务的最佳方法是什么?
错误:
TypeError: cannot concatenate 'str' and 'datetime.datetime' objects
进行查询参数化:
dbu.cursor.execute("""
SELECT
id, company_name, backup_started, backup_finished
FROM
Clients
WHERE
backup_started > %s""", (today12pm, ))
使用strftime
dbu.cursor.execute('SELECT id, company_name, backup_started,\
backup_finished FROM Clients WHERE backup_started> %s' %today12pm.strftime('%Y-%m-%d %H:%M:%S'))
检查格式是否正确
我是一个完全的初学者,我有一个测试 mysql 数据库设置。我目前正在尝试检查数据库中列出的备份开始时间是否在当天中午 12 点之前。使用以下内容将时间输入 table:
UPDATE Clients SET backup_started=NOW() WHERE id=1;
我目前正在尝试的是:
now = datetime.datetime.now()
today12am = now.replace(hour=0, minute=0, second =0,)
dbu.cursor.execute('SELECT id, company_name, backup_started,\
backup_finished FROM Clients WHERE backup_started>' + today12am)
data = dbu.cursor.fetchone()
print (data)
我知道它正在尝试将 datetime.datetime 与字符串进行比较,而这正是它遇到问题的地方。我的问题是完成此任务的最佳方法是什么?
错误:
TypeError: cannot concatenate 'str' and 'datetime.datetime' objects
进行查询参数化:
dbu.cursor.execute("""
SELECT
id, company_name, backup_started, backup_finished
FROM
Clients
WHERE
backup_started > %s""", (today12pm, ))
使用strftime
dbu.cursor.execute('SELECT id, company_name, backup_started,\
backup_finished FROM Clients WHERE backup_started> %s' %today12pm.strftime('%Y-%m-%d %H:%M:%S'))
检查格式是否正确