How to compute the difference of two datetime fields and have the results in float?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Comptabilité
- Inventaire
- PoS
- Project
- MRP
Cette question a été signalée
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)
Vous appréciez la discussion ? Ne vous contentez pas de lire, rejoignez-nous !
Créez un compte dès aujourd'hui pour profiter de fonctionnalités exclusives et échanger avec notre formidable communauté !
S'inscrirePublications associées | Réponses | Vues | Activité | |
---|---|---|---|---|
|
3
juil. 23
|
27388 | ||
|
2
juin 22
|
5830 | ||
|
2
sept. 21
|
4855 | ||
|
1
nov. 20
|
8132 | ||
|
2
mars 19
|
6241 |