python – How do I convert seconds to hours, minutes and seconds?
python – How do I convert seconds to hours, minutes and seconds?
You can use datetime.timedelta
function:
>>> import datetime
>>> str(datetime.timedelta(seconds=666))
0:11:06
By using the divmod()
function, which does only a single division to produce both the quotient and the remainder, you can have the result very quickly with only two mathematical operations:
m, s = divmod(seconds, 60)
h, m = divmod(m, 60)
And then use string formatting to convert the result into your desired output:
print({:d}:{:02d}:{:02d}.format(h, m, s)) # Python 3
print(f{h:d}:{m:02d}:{s:02d}) # Python 3.6+
python – How do I convert seconds to hours, minutes and seconds?
I can hardly name that an easy way (at least I cant remember the syntax), but it is possible to use time.strftime, which gives more control over formatting:
from time import strftime
from time import gmtime
strftime(%H:%M:%S, gmtime(666))
00:11:06
strftime(%H:%M:%S, gmtime(60*60*24))
00:00:00
gmtime is used to convert seconds to special tuple format that strftime()
requires.
Note: Truncates after 23:59:59