X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=datetime_utils.py;h=e31edc29428ad57a0d02282e9ee4ccdc8c55c546;hb=d08bad64a6884f25d28a2c38c6cd1c87b4335188;hp=db5b2b5e19ba8e74fdf192dc122e518e90ec6bf9;hpb=83c1e0d04fe2e78963c8b508e8b7d0ae03bfcb16;p=python_utils.git diff --git a/datetime_utils.py b/datetime_utils.py index db5b2b5..e31edc2 100644 --- a/datetime_utils.py +++ b/datetime_utils.py @@ -42,7 +42,7 @@ def now() -> datetime.datetime: def now_pacific() -> datetime.datetime: """ - What time is it? Result in US/Pacifit time (PST/PDT) + What time is it? Result in US/Pacific time (PST/PDT) """ return replace_timezone(now(), pytz.timezone("US/Pacific")) @@ -652,6 +652,18 @@ def describe_duration(seconds: int, *, include_seconds = False) -> str: return descr +def describe_timedelta(delta: datetime.timedelta) -> str: + """ + Describe a duration represented by a timedelta object. + + >>> d = datetime.timedelta(1, 600) + >>> describe_timedelta(d) + '1 day, and 10 minutes' + + """ + return describe_duration(delta.total_seconds()) + + def describe_duration_briefly(seconds: int, *, include_seconds=False) -> str: """ Describe a duration briefly. @@ -685,6 +697,18 @@ def describe_duration_briefly(seconds: int, *, include_seconds=False) -> str: return descr.strip() +def describe_timedelta_briefly(delta: datetime.timedelta) -> str: + """ + Describe a duration represented by a timedelta object. + + >>> d = datetime.timedelta(1, 600) + >>> describe_timedelta_briefly(d) + '1d 10m' + + """ + return describe_duration_briefly(delta.total_seconds()) + + if __name__ == '__main__': import doctest doctest.testmod()