12 lines
355 B
Python
12 lines
355 B
Python
from datetime import datetime, timezone
|
|
|
|
|
|
def require_utc(value: datetime, field_name: str) -> datetime:
|
|
if value.tzinfo is None:
|
|
raise ValueError(f"{field_name} must include a timezone")
|
|
return value.astimezone(timezone.utc)
|
|
|
|
|
|
def to_iso_z(value: datetime) -> str:
|
|
return require_utc(value, "datetime").strftime("%Y-%m-%dT%H:%M:%SZ")
|