Move some functions into a utils module

This commit is contained in:
Edward Betts 2024-07-01 22:22:01 +03:00
parent 0e49d18721
commit 01b42845c3
2 changed files with 34 additions and 31 deletions

23
agenda/utils.py Normal file
View file

@ -0,0 +1,23 @@
"""Utility functions."""
import datetime
DateOrDateTime = datetime.datetime | datetime.date
def as_date(d: DateOrDateTime) -> datetime.date:
"""Convert datetime to date."""
if isinstance(d, datetime.datetime):
return d.date()
assert isinstance(d, datetime.date)
return d
def as_datetime(d: DateOrDateTime) -> datetime.datetime:
"""Date/time of event."""
t0 = datetime.datetime.min.time()
return (
d
if isinstance(d, datetime.datetime)
else datetime.datetime.combine(d, t0).replace(tzinfo=datetime.timezone.utc)
)