from datetime import datetime, timezone from typing import Optional def parse_hs_date(value: Optional[str]) -> Optional[datetime]: if not value: return None try: dt = datetime.fromisoformat(value.replace("Z", "+00:00")) if dt.tzinfo is None: return dt.replace(tzinfo=timezone.utc) return dt.astimezone(timezone.utc) except ValueError: return None