У меня есть список Python "table_list", который имеет имена таблиц данных MySQL.Мне нужно «start_time» значения полей из 1-й таблицы данных и сохранить в другом списке «file_sTimeList» после преобразования в datetime.
from datetime import datetime, timedelta
sq = """SELECT start_time FROM %s""" % (table_list[0])
cursor.execute(sq)
result = cursor.fetchall()
file_sTimeList = []
for row in result:
file_sTime = f'{row[0]:%Y-%m-%d %H:%M:%S%z}'
file_sTimeList.append(file_sTime)
# print("file_sTime: ", file_sTimeList)
Затем я получаю текущее время сервера - время 24 часа.
# get current server time
tz_PP = pytz.timezone('Asia/Phnom_Penh')
serverTime = datetime.now(tz_PP).strftime("%H:%M:%S")
print("serverTime: ", serverTime)
# get 24 hours - current server time
st_24hrs = datetime.now(tz_PP) - timedelta(hours=24)
serverTime_24hrs = st_24hrs.strftime('%Y-%m-%d %H:%M:%S')
print("serverTime_24hrs: ", serverTime_24hrs)
И, наконец, я проверяю каждый элемент из моего предыдущего списка "file_sTimeList", если он превышает 24 часа, и если это так, удаляю данные.
# Clear DB all records , if exceed 24hrs
for st in file_sTimeList:
if serverTime_24hrs > st:
print("Exceed 24 hours")
try:
import datetime
for r in range(len(table_list)):
sql_1 = f"""DELETE FROM %s WHERE start_time = '{datetime.datetime.strptime(file_sTime, '%Y-%m-%d %H:%M:%S')}'""" \
% (table_list[r])
cursor.execute(sql_1)
print("DB clean")
except Exception as e:
print("Error: ", e)
raise e
else:
print("24 time")
Однако это не дает мне правильного вывода.Что я здесь не так делаю?Любая помощь приветствуется.Благодаря.