Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
2 ตอบกลับ
5354 มุมมอง

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

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

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]  

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

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)
อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
3
ก.ค. 23
27368
2
มิ.ย. 22
5824
2
ก.ย. 21
4846
1
พ.ย. 20
8128
2
มี.ค. 19
6238