Additionnant les durées de temps en Python
Je voudrais ajouter une série de divisions en Python. Le temps de commencer que des chaînes comme "00:08:30.291". Je n'arrive pas à trouver la bonne façon d'utiliser les objets Python ou de l'API pour faire de cette pratique et élégant. Il semble que le temps de l'objet n'utilisez pas de microsecondes, donc je suis en utilisant datetime est strptime pour analyser les cordes, avec succès. Mais alors datetimes ne semblent pas à l'ajouter, et je préfère vraiment ne pas déborder dans les jours (c'est à dire 23 + 2 heures = 25 heures). Je peux utiliser datetime.temps mais qu'ils n'ajoutent pas. Timedeltas semble approprié, mais qui semble un peu maladroit pour convertir depuis/vers d'autres choses. Peut-être que je suis absent quelque chose d'évident ici. Je voudrais être capable de:
for timestring in times:
t = datetime.strptime("%H:%M:%S.%f", timestring).time
total_duration = total_duration + t
print total_duration.strftime("%H:%M:%S.%f")
Je suppose que beaucoup d'heures, c'est à dire 25 dans ce cas.
oui, de préférence de 25. considèrent que la non-essentielles si vous le souhaitez.
Brightman voulez-vous dire
duration.days*24*60*60 + duration.seconds
? Si vous voulez dire que, s'il vous plaît écrire que dans la question.S. lott: je ne comprends pas ce que vous voulez moi de clarifier
OriginalL'auteur Sam Brightman | 2010-03-09
Vous devez vous connecter pour publier un commentaire.
Ce que vous travaillez avec est des différences de temps, c'est pourquoi à l'aide de
datetime.timedelta
est seulement approprié ici:Aussi, s'il vous plaît ne pas utiliser des noms tels que
sum
pour vos variables, vous êtes l'occultation intégrée.J'ai renommé la variable en question.
De même, il est exclu de l'strftime, et il ne semble pas simple pour convertir entre même date-heure et la date/heure: d1.le temps est toujours un datetime.
OriginalL'auteur SilentGhost