У меня есть timedelta. Мне нужны дни, часы и минуты - либо как кортеж, либо словарь ... Я не суетился.Преобразование timedelta в дни, часы и минуты
Должно быть, я делал это дюжину раз в десятках языков на протяжении многих лет, но у Питона обычно есть простой ответ на все, поэтому я подумал, что попрошу здесь, прежде чем выпустить какую-то отвратительно простую (но подробную) математику.
Господин Fooz поднимает хороший момент.
Я имею дело с «списками» (немного похожими на списки ebay), где каждый из них имеет продолжительность. Я пытаюсь найти оставшееся время, делая when_added + duration - now
Я прав, говоря, что не учитывал бы DST? Если нет, то какой самый простой способ добавить/вычесть час?
'указываете ей()' может не сработать, если локальная временная зона может иметь различное смещение в UTC разное время (многие из них) - вы можете использовать 'модуль pytz', чтобы получить доступ к базе данных TZ в портативном deteministic путь. Кроме того, местное время может быть неоднозначным (50% шансов на ошибку) - вам нужна дополнительная информация для устранения неоднозначности, например, часто (не всегда) [даты в файле журнала монотонны] (http://stackoverflow.com/a/26221183/4279). См. [Как можно вычесть день с даты python?] (Http://stackoverflow.com/q/441147/4279), который, возможно, придется решать аналогичные проблемы. – jfs