Format a timedelta object

Steven D'Aprano steve at pearwood.info
Fri May 27 12:21:55 EDT 2016


On Thu, 26 May 2016 03:28 pm, Zachary Ware wrote:

> On Thu, May 26, 2016 at 12:16 AM, Steven D'Aprano
> <steve+comp.lang.python at pearwood.info> wrote:
>> I have a timedelta object, and I want to display it in a nice
>> human-readable format like 03:45:17 for "three hours, forty five minutes,
>> 17 seconds".
>>
>> Is there a standard way to do this?
> 
>    >>> timedelta(100)
>    datetime.timedelta(100)
>    >>> str(timedelta(seconds=100))
>    '0:01:40'
>    >>> str(timedelta(hours=100))
>    '4 days, 4:00:00'
> 
> (I recently spent *way* too long trying to figure out how to properly
> format the thing before being reminded that a plain str call gives
> exactly what I was after.)

Thanks Zach. Unfortunately, the format is not quite how I want it, so I
guess I'll have to extract the H:M:S fields manually from the seconds.



-- 
Steven




More information about the Python-list mailing list