X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=datetime_utils.py;fp=datetime_utils.py;h=7787c6f0b0b74b84b84fca28bba8d2381e1d8668;hb=97fbe845e5dfdbda22521117c1783e1fd8515952;hp=f2cae8b9f06b2f69e5132685f611e4aaceeb02d2;hpb=a838c154135b2420d9047a101caf24a2c9f593c2;p=python_utils.git diff --git a/datetime_utils.py b/datetime_utils.py index f2cae8b..7787c6f 100644 --- a/datetime_utils.py +++ b/datetime_utils.py @@ -51,12 +51,18 @@ def date_and_time_to_datetime(date: datetime.date, ) -def datetime_to_date(date: datetime.datetime) -> datetime.date: - return datetime.date( - date.year, - date.month, - date.day - ) +def datetime_to_date_and_time( + dt: datetime.datetime +) -> Tuple[datetime.date, datetime.time]: + return (dt.date(), dt.timetz()) + + +def datetime_to_date(dt: datetime.datetime) -> datetime.date: + return datetime_to_date_and_time(dt)[0] + + +def datetime_to_time(dt: datetime.datetime) -> datetime.time: + return datetime_to_date_and_time(dt)[1] # An enum to represent units with which we can compute deltas. @@ -330,6 +336,8 @@ def minute_number_to_time_string(minute_num: MinuteOfDay) -> str: def parse_duration(duration: str) -> int: """Parse a duration in string form.""" + if duration.isdigit(): + return int(duration) seconds = 0 m = re.search(r'(\d+) *d[ays]*', duration) if m is not None: