summaryrefslogtreecommitdiff
path: root/datetime_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'datetime_utils.py')
-rw-r--r--datetime_utils.py20
1 files changed, 14 insertions, 6 deletions
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: