2016-07-19 20 views
0

ich generieren und eine Uhrzeit und das Datum in meine SQLite3 Datenbank in Python mit dem folgenden Befehl ein:Den Unterschied zwischen zwei Daten/Zeiten

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

Die Zeit wird mit der in der Datenbank in einem Integer-Feld gespeichert Format:

2016-07-18 08:58:48

ich denke, dass der Wert tatsächlich als Text gespeichert wird, da Sqlite3 mit Typ-Affinität funktioniert , INTEGER ist nur noch Code übrig, den ich wahrscheinlich ändern werde.

Mein Ziel ist es, meine Datenbank abzufragen, um diesen Wert von einer SELECT-Operation zu erhalten, und dann den Unterschied im Vergleich zur aktuellen Zeit mit Pythons nativen Zeit- und Datumsmodulen zu finden. Mein Endziel ist Zeitdifferenz von der ursprünglichen Einsatzes müssen jetzt ähnlich dazu vertreten:

2d: 1h: 5m

Um in die Datenbank in ein neues Feld eingefügt werden TimeDiff genannt.

Ist dies möglich mit Uhrzeit, Datum oder Datetime in Python? Ich habe Probleme mit der Syntax für diese Module.

+4

Subtrahierend zwei 'datetime's gibt Ihnen eine' timedelta' in Python - wenn es das ist, was Sie nach. – SuperSaiyan

+0

+1 Dies endete perfekt für die Lösung, die ich brauchte, und ich habe diese Methode verwendet. Akzeptiert andere Antwort, weil er meine Frage wie gefragt beantwortet hat. – Angus

Antwort

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) 

Ausgang:

151 days, 1:00:00 
Verwandte Themen