Skip to content

Instantly share code, notes, and snippets.

@7h3rAm
Last active May 10, 2017 15:14
Show Gist options
  • Save 7h3rAm/a53eac1eea4da887cab9 to your computer and use it in GitHub Desktop.
Save 7h3rAm/a53eac1eea4da887cab9 to your computer and use it in GitHub Desktop.
Seconds to human readable text. Inspired from https://gist.github.com/erickpatrick/3039081
#!/usr/bin/env python
def sec_to_human(secs):
units = dict({
7*24*3600: "week",
24*3600: "day",
3600: "hour",
60: "minute",
1: "second"
})
if secs <= 0: return "0 seconds"
s = list()
for divisor, name in sorted(units.iteritems(), reverse=True):
quot=int(secs/divisor)
if quot:
if abs(quot) > 1:
s.append("%s %ss" % (quot, name))
else:
s.append("%s %s" % (quot, name))
secs -= quot * divisor
return " ".join(s)
@7h3rAm
Copy link
Author

7h3rAm commented Feb 19, 2016

Test output:

454 seconds = 7 minutes 34 seconds
331 seconds = 5 minutes 31 seconds
84 seconds = 1 minute 24 seconds
2764 seconds = 46 minutes 4 seconds
325 seconds = 5 minutes 25 seconds
221 seconds = 3 minutes 41 seconds
259 seconds = 4 minutes 19 seconds
196 seconds = 3 minutes 16 seconds
77 seconds = 1 minute 17 seconds
2053 seconds = 34 minutes 13 seconds
103 seconds = 1 minute 43 seconds
168 seconds = 2 minutes 48 seconds
155 seconds = 2 minutes 35 seconds
484 seconds = 8 minutes 4 seconds
703 seconds = 11 minutes 43 seconds
161 seconds = 2 minutes 41 seconds
2974 seconds = 49 minutes 34 seconds
2254 seconds = 37 minutes 34 seconds
440 seconds = 7 minutes 20 seconds
133 seconds = 2 minutes 13 seconds
157 seconds = 2 minutes 37 seconds
88 seconds = 1 minute 28 seconds
492 seconds = 8 minutes 12 seconds
252 seconds = 4 minutes 12 seconds
89 seconds = 1 minute 29 seconds
295 seconds = 4 minutes 55 seconds
79 seconds = 1 minute 19 seconds
894 seconds = 14 minutes 54 seconds
2305 seconds = 38 minutes 25 seconds
722 seconds = 12 minutes 2 seconds
999999999 = 1653 weeks 3 days 1 hour 46 minutes 39 seconds

@edendekker
Copy link

edendekker commented May 10, 2017

Thanks for the share! I created a similar gist but it's not as good as yours. Thank you 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment