istiyorsanız üzerinden bir tam sayıya o dönüştürebilirsiniz. diff.days*24*60*60 + difference.seconds
from datetime import datetime
now = datetime.now()
...
later = datetime.now()
diff = later-now
diff_in_seconds = diff.days*24*60*60 + diff.seconds
değişken 'fark' burada https://docs.python.org/2.4/lib/datetime-timedelta.html ayrıntılı olarak açıklandığı gibi (gün, saniye mikrosaniye) bir demet bir timedelta amacıdır. Diğer tüm birimler (saat, dakika ..) bu formata dönüştürülür.
>> diff = later- now
>> diff
datetime.timedelta(0, 8526, 689000)
>> diff_in_seconds = diff.days*24*60*60 + diff.seconds
>> diff_in_seconds
>> 8527
, bunun yerine (daha önce-şimdi) negatif zaman farkı varsa yerine sonradan-şimdi (dolayısıyla pozitif zaman farkı) olurdu az ikisi arasında geçen süre olduğu, bakmak için bir başka yolu önceki örnekte Dolayısıyla
>> diff = earlier-now
>> diff
datetime.timedelta(-1, 77873, 311000)
>> diff_in_seconds = diff.days*24*60*60 + diff.seconds
>> diff_in_seconds
>> -8527
gibi hala aynı, biz eminiz bile süresi buna durumunda önemli bir terim olduğu için dikkate gün vadeli almak, gerekli 1 günden az olduğu negatif zaman farkı.
Bu, bir "TypeError: int() argümanı, bir dize, bayt benzeri bir nesne veya Python3'teki" datetime.timedelta "hatası değil, bir sayı olmalıdır. Robert Longson'un cevabına bakınız. – typoerrpr