Récupérer minutes d'un deltatime

Résolu
blux Messages postés 27807 Statut Modérateur -  
blux Messages postés 27807 Statut Modérateur -
Bonjour,

voici un bout de mon code (tout simple) :

Jour = Coucher - Lever
print(Jour)
print(type(Jour))
print((Jour.minutes))


Et ce que ça donne à l'exécution :
<class 'datetime.timedelta'>
Traceback (most recent call last):
File "./sun1.py", line 30, in <module>
print((Jour.minutes))
AttributeError: 'datetime.timedelta' object has no attribute 'minutes'


Donc, la question est simple, comment je peux isoler facilement les heures, minutes, secondes de ma variable "Jour" ?

Merci d'avance.



3 réponses

mamiemando Messages postés 34178 Statut Modérateur 7 886
 

Bonjour

from datetime import datetime

dt1 = datetime(year=2022, month=7, day=8, hour=17, minute=58)
dt2 = datetime(year=2022, month=7, day=8, hour=17, minute=55)
delta = dt1 - dt2 # delta est de type datetime.timedelta
print(delta.seconds // 60)

Bonne chance

1
blux Messages postés 27807 Statut Modérateur 3 363
 

merci, ça marche.

juste que ne comprends pas pourquoi il n'y a que les secondes que l'on peut avoir pour ce type d'objet !

0
mamiemando Messages postés 34178 Statut Modérateur 7 886 > blux Messages postés 27807 Statut Modérateur
 

C'est comme ça que l'objet est défini, les développeurs qui ont conçu cet objet auraient pu effectivement mettre les minutes, mais ça n'est pas le choix qui a été retenu. Après une division par 60 c'est pas extrêmement compliqué à réaliser ;-)

0
blux Messages postés 27807 Statut Modérateur 3 363 > mamiemando Messages postés 34178 Statut Modérateur
 

Voui, c'est vrai...

Et des fois, c'est une division par 3600, donc par 60 deux fois de suite ! ;-)

0
blux Messages postés 27807 Statut Modérateur 3 363
 

Y'a pas plus simple ?

0
Utilisateur anonyme
 

J'ai trouvé que ça....


0
blux Messages postés 27807 Statut Modérateur 3 363
 

J'ai peut-être trouvé autre chose, à valider...

0