İçereği Atla
Menü
Bu soru işaretlendi
2 Cevaplar
5363 Görünümler

How to compute the difference of two datetime fields and have the results in float?

Avatar
Vazgeç
En İyi Yanıt

The differnce of two datetime filedswoul be in a datetime format.eg: 0:45:00  . IF you  need to type cast to float then you will get ValueError: invalid literal for float(): 0:45:00. So solution is either you can split it and cast to float or take result as seconds and convert to float.
eg:Input : datetime(0:45:00)

    print float((end_date-date).seconds)

     2700.0

     print [float(i) for i in str((end_date-date)).split(":")]

     [0.0, 45.0, 0.0]  

Avatar
Vazgeç
En İyi Yanıt

The following should work. You would most likely have the following code execute on change of either datetime field. note: time_diff is a float field.

time_diff = fields.Datetime.from_string(self.later_datetime) - fields.Datetime.from_string(self.earlier_datetime)
self.time_diff= float(time_diff.days) * 24 + (float(time_diff.seconds) / 3600)
Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
3
Tem 23
27375
2
Haz 22
5824
2
Eyl 21
4848
1
Kas 20
8128
2
Mar 19
6238