2023-01-11 19:02:01 +02:00
|
|
|
from datetime import datetime, timezone
|
|
|
|
|
2023-06-14 14:01:15 +03:00
|
|
|
|
2023-01-11 19:02:01 +02:00
|
|
|
def is_past(dt: datetime) -> bool:
|
|
|
|
# we cannot compare a naive now()
|
|
|
|
# to dt which might be tz-aware or unaware
|
|
|
|
dt = ensure_timezone(dt)
|
|
|
|
return dt < datetime.now(timezone.utc)
|
|
|
|
|
2023-06-14 14:01:15 +03:00
|
|
|
|
|
|
|
def ensure_timezone(dt: datetime) -> datetime:
|
2023-01-11 19:02:01 +02:00
|
|
|
if dt.tzinfo is None or dt.tzinfo.utcoffset(None) is None:
|
2023-06-14 14:01:15 +03:00
|
|
|
dt = dt.replace(tzinfo=timezone.utc)
|
|
|
|
return dt
|