J'ai un timedelta. Je veux les jours, les heures et les minutes de cela - soit comme un uplet ou un dictionnaire ... Je ne suis pas dérangé. J'ai dû faire cela une douzaine de fois dans une douzaine de langues au cours des années mais Python a généralement une réponse simple à tout, alors j'ai pensé que je demanderais ici avant de bousculer des mathématiques nauséabondes (mais verbeuses).Convertir un timedelta en jours, heures et minutes
M. Fooz soulève un bon point.
J'ai affaire à des «listes» (un peu comme les annonces ebay) où chacune a une durée. J'essaie de trouver le temps laissé en faisant when_added + duration - now
Ai-je raison de dire que ne pas tenir compte de DST? Si non, quel est le moyen le plus simple d'ajouter/soustraire une heure?
'mktime()' peut échouer si le fuseau horaire local peut avoir un utc décalage différent à différents moments (beaucoup le font) - vous pouvez utiliser 'module pytz' pour accéder à la base de données de tz dans un deteministic portable façon. En outre, l'heure locale peut être ambiguë (50% de chances d'erreur) - vous avez besoin d'informations supplémentaires pour désambiguïser, par exemple, souvent (pas toujours) [les dates dans un fichier journal sont monotones] (http://stackoverflow.com/a/26221183/4279). Voir [Comment puis-je soustraire un jour d'une date python?] (Http://stackoverflow.com/q/441147/4279) qui peut avoir à faire face à des problèmes similaires. – jfs