İki saat arası süreyi çıkarıp saniye cinsinden yazmak

Selamlar

Sqlite üzerine text olarak kayıt yaptığım bir tablo var. Bu tablodan çekmiş olduğum ilk ve son saat arasındaki çıkarma işlemini yaparak süre sütununa saniye cinsinden yazmak istiyorum. Fakat uzun uğraşlara rağmen kodu yazmayı bir türlü başaramadım. Sizlerin acil desteğine ihtiyacım var.

image

elinde iki tane datetime mı var eğer öyleyse

d1 = Datetime()
d2 = Datetime()
d_fark = (d1 - d2)
print(d_fark.seconds)
3 Beğeni

sqlite3’te datetime formatı yok, senin kayıtların string formatında olduğundan program içerisinde dönüştürmen gerek. Tablondaki time sütunun da string olduğunu varsayarak yazdım, eğer time sütunu integer formatındaysa update kısmındaki tek tırnakları kaldır.

from datetime import datetime
import sqlite3

con = sqlite3.connect('kayitlar.db')

datas = con.execute(" select id, firstClock, lastClock from kayit_tarihi ").fetchall()

for id,firstClock,lastClock in datas:
    
    fark = datetime.strptime( lastClock, '%H:%M:%S' ) - datetime.strptime( firstClock, '%H:%M:%S' )
    saniye = fark.seconds
    
    con.execute(f" update kayit_tarihi set time ='{saniye}' where id = {id}  ")

con.commit()
con.close()
2 Beğeni

üstadım çok teşekkürler
emeğine sağlık
saygılar

1 Beğeni