Skip to content

Instantly share code, notes, and snippets.

@blzzua
Created January 8, 2022 15:13
Show Gist options
  • Save blzzua/292fcdd0c214e2ed766253db46d47789 to your computer and use it in GitHub Desktop.
Save blzzua/292fcdd0c214e2ed766253db46d47789 to your computer and use it in GitHub Desktop.
estimate_timedelta.py
def estimate_timedelta(td):
"""returns estimate timedelta in format 'YY year MM mon DD day'. consider plural form or absence y/m/d"""
if td.days > 0:
y, rem = divmod(td.days, 365)
m, d = divmod(rem, 31)
dict_ = {'year': y, 'mon': m, 'day':d }
return " ".join([f"{dict_[k]} {k}" + ("s" if dict_[k] > 1 else "") for k in dict_ if dict_[k] > 0 ])
else:
return str(td)
# estimate_timedelta(timedelta(days=2*365, seconds=100000))
# '2 years 1 day'
# estimate_timedelta(timedelta(days=23000))
# '63 years 5 days'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment