Мне нужно вытащить из БД данные которые были записаны 5 или более дней назад.
Как правильно узнать дату, которая была 5 дней назад ?
Пробовал так, но не работает:
n = time.time() - (60*60*24*5)
date = n.strftime("%Y-%m-%d %H:%M:%S")
print date
n = time.time() - (60*60*24*5)
date = n.strftime("%Y-%m-%d %H:%M:%S")
print date
from datetime import datetime, timedelta
'Сдвинуть время'
print d + timedelta(days=1, hours=1)
#> 2010-08-15 03:58:15.057538
cursor.execute('''SELECT * FROM files''')
for f in cursor.fetchall():
td = (datetime.today() - timedelta(days=f['interval'])).strftime("%Y-%m-%d %H:%M:%S")
if td >= f['date']:# как правильно перевести строку f['date'] в формат даты для сравнения ?
print f['name']
andreiruфильтровать нужно в запросе, что-то типа этого:
Спасибо то что нужно !
И ещё небольшой вопрос:cursor.execute('''SELECT * FROM files''')
for f in cursor.fetchall():
td = (datetime.today() - timedelta(days=f['interval'])).strftime("%Y-%m-%d %H:%M:%S")
if td >= f['date']:# как правильно перевести строку f['date'] в формат даты для сравнения ?
print f['name']
td = (datetime.today() - timedelta(days=5))
cursor.execute('''SELECT * FROM files where ?>date''',td)
for f in cursor.fetchall():
print f['name']
cursor.execute('''SELECT * FROM files''')
for f in cursor.fetchall():
td = (datetime.today() - timedelta(days=f['interval']))
if td >= datetime.strptime(str(f['date']), "%Y-%m-%d %H:%M:%S")
print f['name']
andreiruесли работает, то правильно. но алгоритм плохой - то же самое что читать из текстового файла, а не из бд-sql.
Так правильно будет ?