J'utilise l'exemple ci-dessous pour arrondir le temps dans odoo.Temps rond en python odoo
@api.one
@api.depends('start','finish','pause')
def total(self):
for rec in self:
time1 = datetime.strptime(rec.start, "%Y-%m-%d %H:%M:%S")
time2 = datetime.strptime(rec.finish, "%Y-%m-%d %H:%M:%S")
rec.total_time = round(((time2 - time1).seconds/float(60*60) - self.pause))
Par exemple:
si start = 07:57:21, finition = 16:25:36, pause = 1 obtenir le résultat 7 heures
si start = 07:57:34 , finish = 16:28:42, pause = 1 obtenir le résultat 8 heures
Première et deuxième fois différent est de 3 minutes mais dans le résultat c'est une heure!
Comment changer tour si le temps total> = 7 heures 30 minutes 01 secondes, je dois résultat 8 dans d'autres solution 7.5 (7 heures et 30 minutes)
'dans une autre solution 7 ou 7.5' ?? Voulez-vous 7 ou 7,5? – qvpham
'rond (7.5) == 8' et' rond (7.4) == 7 == int (7.4) 'et' rond (7.6) == 8 == int (7.6 + 1) ' –
@julivico Désolé mon erreur , Je suis éditer question 7 heures 30 minutes 01 seconde j'ai besoin du résultat 8 dans l'autre solution 7.5 (7 heures et 30 minutes) – Pointer