from datetime import datetime, timezone def utc_now() -> datetime: """Naive UTC datetime for existing SQLAlchemy DateTime columns.""" return datetime.now(timezone.utc).replace(tzinfo=None) def to_utc_naive(value: datetime | None) -> datetime | None: if value is None: return None if value.tzinfo is None: return value return value.astimezone(timezone.utc).replace(tzinfo=None) def to_utc_aware(value: datetime | None) -> datetime | None: if value is None: return None if value.tzinfo is None: return value.replace(tzinfo=timezone.utc) return value.astimezone(timezone.utc) def to_zulu_iso(value: datetime) -> str: return to_utc_aware(value).isoformat().replace("+00:00", "Z") def unix_ms_utc(value: datetime) -> int: return int(to_utc_aware(value).timestamp() * 1000)