2016-07-19 6 views
0

сгенерировать и вставить дату и время в моей базе данных SQLite3 в Python с помощью следующей команды:Найти разницу между двумя датами/раз

connection.execute("INSERT INTO ActiveTable (IDPK, time) VALUES (NULL, datetime('now', 'localtime'))") 

время хранится в базе данных в поле INTEGER с формат:

2016-07-18 08:58:48

Я думаю, что значение на самом деле хранится в виде текста, так как Sqlite3 работает с типом сродством , INTEGER просто оставлен над кодом, который я, вероятно, изменю.

Моя цель - запросить мою базу данных, чтобы получить это значение из операции SELECT, а затем найти разницу по сравнению с текущим временем с использованием собственных модулей времени и даты python. Моя конечная цель должна иметь разницу во времени от первоначальной вставки в настоящее время представлены Аналогично к этому:

2d: 1ч: 5м

Чтобы быть вставлен в базу данных в новое поле под названием TimeDiff.

Возможно ли это, используя время, дату или дату и время в python? У меня возникают проблемы с синтаксисом для этих модулей.

+4

Вычитание двух 'datetime's дает вам' timedelta' в питоне - если это то, что вы после этого. – SuperSaiyan

+0

+1 Это оказалось идеальным решением для меня, и я использовал этот метод. Принял другой ответ, потому что он ответил на мой вопрос по заданию. – Angus

ответ

1
from datetime import datetime 

day1 = datetime.strptime("2016-07-18 08:58:48","%Y-%m-%d %H:%M:%S") 
day2 = datetime.strptime("2016-02-18 07:58:48","%Y-%m-%d %H:%M:%S") 

print(day1 -day2) 

Выход:

151 days, 1:00:00 
Смежные вопросы