Выполнение операций в дату, извлеченную базой данных MySQL в Python

0
import mysql.connector
import datetime
mydb = mysql.connector.connect(host="localhost", user="root", password="afif123", db="library")
mycursor = mydb.cursor()
date_query = '''SELECT Date from issued_book '''
mycursor.execute(date_query)
date_fetch = mycursor.fetchall()
date1 = date_fetch[0]
print(date1)
today = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(today)
diff = today - date1
print(diff)

я получаю ошибку, как это

(datetime.datetime(2019, 4, 18, 15, 47, 51),)

Traceback (последний вызов был последним): 2019-04-20 17:38:41

Файл "C: /Users/Desktop/lib/d.py", строка 12, в diff = today - date1

Ошибка типа: неподдерживаемые типы операндов для -: 'str' и 'tuple'

Процесс завершен с кодом выхода 1

  • 0
    Вы получаете ошибки или неправильный вывод?
  • 0
    после получения даты из базы данных я получаю это (datetime.datetime (2019, 4, 18, 15, 47, 51),) теперь я должен преобразовать это в этом 2019-04-20 00:25:19 но как?
Показать ещё 2 комментария
Теги:
python-3.x

2 ответа

0

хорошо, так это помогло мне

import mysql.connector
import datetime
mydb = mysql.connector.connect(host="localhost", user="root", password="afif123", db="library")
mycursor = mydb.cursor()
date_query = '''SELECT Date from issued_book '''
mycursor.execute(date_query)
date_fetch = mycursor.fetchall()
date1 = date_fetch[0]
print("date1:", date1)
d1 = date1[0]
print("a1:", d1)
today = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
t1 = datetime.datetime.strptime(today, "%Y-%m-%d %H:%M:%S")
print("today:", today)
diff = t1 - d1
print("diff:", diff)

ВЫХОД date1: (datetime.datetime(2019, 4, 18, 15, 47, 51),)

a1: 2019-04-18 15:47:51

сегодня: 2019-04-21 12:00:47

разница: 2 дня, 20:12:56

0

Чтобы найти разницу между двумя датами, нужно просто вычесть два объекта даты и времени, например

import datetime

date1 = datetime.datetime(2019, 4, 18, 15, 47, 51)
date2 = datetime.datetime.now()

print(date2-date1)
#1 day, 20:58:11.972530
  • 0
    я получаю дату, как это (datetime.datetime (2019, 4, 18, 15, 47, 51),) и после вычитания с текущей датой пользовательский интерфейс (PyQT) останавливается
  • 0
    Это означает, что что-то не так в том, как вы работаете с датами. Удалите часть пользовательского интерфейса и просто запустите код, который обрабатывает дату, чтобы изолировать проблему
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню