import datetime UTC = datetime.UTC def now() -> datetime.datetime: """Return the current datetime in UTC.""" return datetime.datetime.now(tz=UTC) def to_aware(value: datetime.datetime) -> datetime.datetime: """Convert a naive datetime to an aware datetime.""" if value.tzinfo is None: return value.replace(tzinfo=UTC) return value.astimezone(UTC) def to_naive(value: datetime.datetime) -> datetime.datetime: """Convert an aware datetime to a naive datetime.""" if value.utcoffset() is None: raise ValueError("Cannot be applied to a naive datetime") return to_aware(value).replace(tzinfo=None)