Формат Python timedelta в строку - PullRequest
       118

Формат Python timedelta в строку

226 голосов
/ 11 февраля 2009

Я новичок в Python (2 недели), и у меня возникают проблемы с форматированием объекта datetime.timedelta.

Вот что я пытаюсь сделать: У меня есть список объектов, и один из членов класса объекта является объектом timedelta, который показывает продолжительность события. Я хотел бы отобразить эту продолжительность в формате часов: минут.

Я испробовал множество способов сделать это, и у меня возникли трудности. Мой текущий подход заключается в добавлении методов в класс для моих объектов, которые возвращают часы и минуты. Я могу получить часы, разделив timedelta.seconds на 3600 и округлив его. У меня проблемы с получением оставшихся секунд и преобразованием их в минуты.

Кстати, я использую Google AppEngine с Django Templates для презентации.

Если кто-то может помочь или знает лучший способ решить эту проблему, я был бы очень рад.

Спасибо

Ответы [ 21 ]

0 голосов
/ 21 июля 2013
t1 = datetime.datetime.strptime(StartTime, "%H:%M:%S %d-%m-%y")

t2 = datetime.datetime.strptime(EndTime, "%H:%M:%S %d-%m-%y")

return str(t2-t1)

Так для:

StartTime = '15:28:53 21-07-13'
EndTime = '15:32:40 21-07-13'

возвращается:

'0:03:47'
...